我在AWS Lambda
中有一个函数,该函数由AWS DynamoDB
中的操作触发。该函数包含以下代码,假设使用AWS SNS
发送新的推送消息:
console.log('Loading function');
var AWS = require('aws-sdk');
AWS.config.region = 'us-west-2';
exports.handler = function(event, context) {
console.log("nnLoading handlernn");
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!');
});
};
当DynamoDB
表中发生PutItem
操作时,我如何才能触发此Lambda
代码?
此外,是否有一种方法,我可以得到新添加的项目的属性表,并检查其中一个是否等于一个字符串?
// Check if it is PutItem event
if (record.eventName == "INSERT") {
...
// Get item's id
var id = record.dynamodb.Keys.Id.N;
...
}