AWS Lambda 调用 SNS

AWS Lambda calling SNS

我正在玩我的 Amazon Echo 并写了一个小功能,我希望在我女儿回复后给我发短信。代码执行得很好——但 sns.publish 永远不会发生。它默默地失败了——我不能提出错误。我相信我拥有适当的 IAM 权限和主题订阅。有人可以帮忙吗?

function textMom(kindOfDay){
    var message = "Test";
    var sns = new AWS.SNS();
    console.log("textMethod")

    sns.publish({
        TopicArn: "arn:aws:sns:us-east-1:",
        Message: message
    }, function(err, data) {
        if(err) {
            console.log('error publishing to SNS');
            context.fail(err);
        } else {
            console.log('message published to SNS');
            context.done(null, data);
        }
        console.log(data);
    });
}

我遇到了同样的问题,通过将发布参数更改为以下解决了,

sns.publish(params, context.done);

这有助于我在所有调用完成之前检查我的功能是否已完成。试试吧!