2016-07-26 270 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」,但沒有成功。

相關問題