【发布时间】:2019-11-16 01:19:44
【问题描述】:
我正在尝试从一个 DynamoDB 表中复制最新更新,并使用 Lambda 将它们放入另一个表中。我在 DynamoDB 中设置了一个触发器,以在使用“蓝图”在表上发生新条目时更新 Lambda 函数。我需要帮助才能将最新项目放入新表中。
这是我的 Lambda 代码:
'use strict';
console.log('Loading function');
exports.handler = (event, context, callback) => {
//console.log('Received event:', JSON.stringify(event, null, 2));
event.Records.forEach((record) => {
console.log(record.eventID);
console.log(record.eventName);
console.log('DynamoDB Record: %j', record.dynamodb);
});
callback(null, `Successfully processed ${event.Records.length} records.`);
};
这是我第一次这样做,所以任何帮助将不胜感激。
试图放入表#2的项目是:
{ "Item": { "Temp": "47.2", "Light": "29", "GWID": "BB00000002", "DateTm": "0\n18-05-05T16:44:39Z", "Status": "b", "ID": "AA00000024", "Hum": "29", "BatV": "3.01" } }
【问题讨论】:
-
我认为最好使用 Dynamo Stream 来访问最新的更新:docs.aws.amazon.com/amazondynamodb/latest/developerguide/…
-
@Franky 感谢您的评论,但正如我所说,我对此很陌生;我已经在我正在收听的表上启用了流,并且设置了 Lambda 函数。但是您建议直接从流中获取项目?我正在尝试使用 Javascript 显示这些值。如果您能稍微解释一下您的评论,那就太好了。
-
您的目标是让表#2 中的一项反映表#1 中的最新项目吗?还是将整个表#1复制到表#2?
-
@jarmod 我想在表#2 中有一项反映表#1 中的最新项目。不是整个表#1。
标签: amazon-web-services aws-lambda amazon-dynamodb