AWS SNS 創建 訂閱 發布


AWS SNS 創建 訂閱 發布
20180810 chenxin

為實現短信報警,添加以下SNS的短信(SMS)訂閱
選擇主題,創建新主題,或修改原有主題
進入對應主題后,選擇創建訂閱,選擇SMS,添加1個電話號碼.重復上述步驟,添加多個電話號碼.
https://docs.aws.amazon.com/zh_cn/sns/latest/dg/sms_publish-to-topic.html
如果該地區的aws不支持SMS的話,可以通過lambda方式調用實現:
https://docs.aws.amazon.com/zh_cn/lambda/latest/dg/with-sns-example.html
確實不是每個區域都支持sms服務,如果你需要在不支持sms服務的地方實現短信告警,可以考慮通過SNS觸發一個lambda操作,然后在lambda中調用某個web服務實現短信發送,甚至可以是國內運營商的短信服務,當然也可以是向支持短信的aws 區域發送新的sns通知
關於收不到SMS短信的問題
1.需要向AWS提case申請,默認的短信發送消費是1美元,可以申請提高(比如100美元)
2.AWS通過審核后,還需要到SNS的控制台去配置限額(默認是1美元,配置為100美元) SNS->文本消息(SMS)->管理文本消息發送首選項->默認消息類型(促銷)->賬戶支出限額(100美元).其他默認.->更新首選項.
3.依次到其他支持SMS的區域重復操作"2".

創建發送SMS的cloudwatch logs 便於排查收不到短信的原因
選擇SNS->"文本消息(SMS)"->"管理文本消息發送首選項"->"用於 CloudWatch Logs 訪問的 IAM 角色"創建->百分比(100)(這樣所有成功的也會記錄)->保存
然后去發送SMS,之后就可以在cloudwatch的"日志"導航里看到對應的日志信息.如:
自動會創建日志組:
成功發送的會記錄到 sns/ap-southeast-1/651544429366/DirectPublishToPhoneNumber
類似:
{ "notification": { "messageId": "993bec35-4bab-51a6-8cd3-b812d9eb6b58", "timestamp": "2018-09-28 02:20:48.114" }, "delivery": { "phoneCarrier": "China Mobile", "mnc": 0, "destination": "+8613668169289", "priceInUSD": 0.01531, "smsType": "Promotional", "mcc": 460, "providerResponse": "Message has been accepted by phone carrier", "dwellTimeMs": 862, "dwellTimeMsUntilDeviceAck": 7253 }, "status": "SUCCESS" }
失敗發送的會記錄到 sns/ap-southeast-1/651544429366/DirectPublishToPhoneNumber/Failure
類似
{ "notification": { "messageId": "203d9f3d-3abc-513b-8fd8-cb1aa97c3a25", "timestamp": "2018-09-28 02:27:12.615" }, "delivery": { "destination": "+8611111111111", "priceInUSD": 0.01531, "smsType": "Promotional", "mcc": 460, "providerResponse": "Unknown error attempting to reach phone", "dwellTimeMs": 330, "dwellTimeMsUntilDeviceAck": 4609 }, "status": "FAILURE" }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM