过去几天我一直在努力发布一个sns然而无论我的代码是什么,我都无法发送它。请注意我不是编码员,我只是为了好玩而这样做。
我已经设置了如下的IAM策略和规则,并使用策略模拟器运行它并且工作正常。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:us-east-1:*******:CallBell"
}
]
}
我在代码的开头有这个。
var AWS = require("aws-sdk");
var sns = new AWS.SNS();
我比我的函数意图中的这部分代码(这是一个alexa技能)
console.log("Loading function");
sns.publish({
Message: 'Test',
Subject: 'Test SNS From Lambda',
TopicArn: 'arn:aws:sns:us-east-1:*******:CallBell'
});
console.log("Message Sent");
这让我疯了,需要帮助,我检查我的日志和加载功能和发送的消息,它没有给出任何错误但是我没有得到我的消息。请帮忙!!
答案 0 :(得分:0)
如果您在VPC中设置lambda,则它不会路由您的SNS请求。删除VPC后再试一次。如果确实需要VPC,则可以在VPC中添加NAT服务,以使lambda能够访问Internet,如here所述。