如何使用lambda触发器检测DynamoDB中的PutItem操作?
问题描述:
我在AWS Lambda
中有一个函数,它由AWS DynamoDB
中的一个操作触发。该功能包含此代码假设使用AWS SNS
发送新的推送消息:如何使用lambda触发器检测DynamoDB中的PutItem操作?
console.log('Loading function');
var AWS = require('aws-sdk');
AWS.config.region = 'us-west-2';
exports.handler = function(event, context) {
console.log("\n\nLoading handler\n\n");
var sns = new AWS.SNS();
sns.publish({
Message: 'Test publish to SNS from Lambda',
TopicArn: 'TOPIC_ARN'
}, function(err, data) {
if (err) {
console.log(err.stack);
return;
}
console.log('push sent');
console.log(data);
context.done(null, 'Function Finished!');
});
};
我怎样才能触发此Lambda
码仅当PutItem
操作在DynamoDB
表会发生什么?
另外,有没有一种方法可以将新添加的项目的属性添加到表格中,并检查它们中的一个是否等于字符串?
This是我在AWS开发者论坛的问题。
答
// Check if it is PutItem event
if (record.eventName == "INSERT") {
...
// Get item's id
var id = record.dynamodb.Keys.Id.N;
...
}
请编辑更多信息。仅限代码和“尝试这个”的答案是不鼓励的,因为它们不包含可搜索的内容,也不解释为什么有人应该“尝试这个”。 – abarisone