过去几天我一直在尝试发布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");
这让我抓狂,需要帮助,我检查了我的日志、加载功能和发送的消息,它没有给出任何错误,但我没有收到我的消息。请帮忙!!
如果您在VPC中设置lambda,则它不会路由您的SNS请求。请在删除VPC后重试。如果你真的需要一个专有网络,你可以在你的专有网络中添加一个NAT服务,让你的lambda可以上网,如下所述。