最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

通过SQS

网站源码admin18浏览0评论

通过SQS

通过SQS

我创建了一个Lambda函数,该函数使用Node.js 10.x将项放入DynamoDB表中。 Lambda函数已通过触发器与SQS队列集成。当我将消息放入队列时,Lambda被调用,但是在DynamoDB表中插入项目时引发错误。

消息-> SQS-> Lambda-> DynamoDB

我将TableName和Item作为输入传递给DynamoDB put方法。但是,CloudWatch Logs说缺少TableName和Item参数。下面是代码段和屏幕截图。

我确实花了很多时间,但是无法解决问题。有人可以帮我吗?

Lambda代码

console.log('Loading function');

var AWS = require('aws-sdk');
var dynamo = new AWS.DynamoDB.DocumentClient();
exports.handler = function(event, context, callback) {

    console.log('Received event:', JSON.stringify(event, null, 2));
    event.Records.forEach(record => {
      const { body } = record;
      console.log("Input to DynamoAPI :", body);
      dynamo.put(body, callback);
    });

  return {};
}

进入队列的消息

{
  "TableName": "user-transaction",
  "Item" : {
    "transaction-id": 1
  }
}

来自CloudWatch的错误消息

回答如下:

[module.exports.handler而不是exports.handler

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论