2016-07-26 149 views
0

Amazon SNS提供了一种全局发送SMS的工具。如何使用AWS lambda函数中的Amazon SNS发送SMS

我想从Lambda函数发送短信,我们提供了手机号码和文本消息,并使用SNS来传递该消息,但是我没有找到有用的文档或NodeJS或Java的示例代码。

任何人都可以提出解决方案吗?

代码:

var params = { 
    Message: 'Hi this is message from AWS_SNS', /* required */ 
    MessageAttributes: { 
    someKey: { 
     DataType: 'String' , 
     StringValue: 'String' 
    }, 
     }, 
    MessageStructure: 'String', 
    PhoneNumber: '+91MyNUMBER', 
    Subject: 'MYSubject', 
    //TargetArn: 'arn:aws:sns:us-west-2:798298080689:SMS', 
    //TopicArn: 'arn:aws:sqs:us-west-2:798298080689:SendSMS' 
}; 
sns.publish(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 
}; 

回答

2

所以,你需要写一个以某种方式调用lambda函数,让我们通过HTTP请求,这么说,你还需要安装API网关路由连接到您的lambda表达式。

接下来,您的Lambda函数会将数据推送到“SNS主题”,而SMS订阅将“轮询”此主题中的任何新数据。一旦有任何数据进入这个主题,它将被订阅消费,并且SMS将被发送。

几天前我写了一篇关于SNS的帖子& Lambda可能对您有帮助。您想要实现的流程与本文中描述的流程非常相似。

https://medium.com/@rafalwilinski/use-aws-lambda-sns-and-node-js-to-automatically-deploy-your-static-site-from-github-to-s3-9e0987a073ec#.3x6wbrz91

文档的页面,这可能有助于:

+0

嗨@RafalWiliński我跟着推动SNS doc adnd能够通过有效的TopicARN发送消息,但是当我在prams中使用电话号码时,它会抛出错误,因为{[UnexpectedParameter:Unexpected key'PhoneNumber'found in params] 消息:'意外的钥匙\'PhoneNumber \'在params中找到', – user4045063

1

请明确设置的区域,试图“美国东部-1" 。我设法通过明确设置这个区域来向印度发送短信。我也尝试过“ap-south-1”,但没有成功。

相关问题