我试图通过lambda发送一个发布sns命令,但它不会发送

时间:2016-04-30 22:50:19

标签: lambda amazon-sns amazon-iam aws-lambda

过去几天我一直在努力发布一个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");

这让我疯了,需要帮助,我检查我的日志和加载功能和发送的消息,它没有给出任何错误但是我没有得到我的消息。请帮忙!!

1 个答案:

答案 0 :(得分:0)

如果您在VPC中设置lambda,则它不会路由您的SNS请求。删除VPC后再试一次。如果确实需要VPC,则可以在VPC中添加NAT服务,以使lambda能够访问Internet,如here所述。