通过SQS

编程入门 行业动态 更新时间:2024-10-24 21:27:59

通过<a href=https://www.elefans.com/category/jswz/34/1757135.html style=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

更多推荐

通过SQS

本文发布于:2024-05-07 07:12:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755049.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:SQS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!