我编写了一个AWS lambda函数,用于在上传S3对象时发送文本消息.我已经确认了订阅,我可以收到SNS控制台发送的测试消息.
当我测试lambda时,所有日志都说方法成功,但没有任何子消息到达.这是函数(主要是示例模板,但在本文中为了安全性而改变了我的主题).任何有关测试/尝试下一步的提示都会受到赞赏.
console.log('Loading function');
var aws = require('aws-sdk');
var s3 = new aws.S3({ apiVersion: '2006-03-01' });
exports.handler = function(event, context) {
var bucket = event.Records[0].s3.bucket.name;
var key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
var params = {
Bucket: bucket,
Key: key
};
var sns = new aws.SNS();
console.log('start of brians sns function')
var pubResult = sns.publish({
Message: 'Test publish to SNS from Lambda',
TopicArn: 'arn:aws:sns:us-east-1:xxxxxxxxxxxx:lambdatop'
}, function(err, data) {
if (err) {
console.log(err.stack);
return;
}
console.log('push sent');
console.log(data);
});
console.log('after sns …Run Code Online (Sandbox Code Playgroud)