iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0
自我挑戰組

AWS新手的30天之旅系列 第 23

AWS新手的30天之旅 - 23. SNS(Amazon Simple Notification Service)

  • 分享至 

  • xImage
  •  

What is SNS

參考官方網站的說明。

Amazon Simple Notification Service (SNS) 是一項全受管簡訊務,可用於系統至系統和應用程式至人 (A2P) 的通訊。該服務讓您能夠透過發佈/訂閱 (pub/sub) 模式在系統之間通訊,可在解偶的微型服務應用程式間傳送簡訊,或者透過 SMS、行動推送和電子郵件直接與使用者通訊。

系統至系統發佈/訂閱功能提供有關高輸送量、以推送為基礎的多對多簡訊的主題。使用 Amazon SNS 主題,您的發佈者系統可以將訊息散發至大量訂閱者系統或客戶端點以平行處理,包括 Amazon SQS 佇列、AWS Lambda 函數和 HTTP/S。A2P 簡訊傳送功能讓您能夠使用發佈/訂閱模式,或使用單一 API 直接發佈訊息,大規模傳送訊息給使用者。

實作

參考官方hands on 教學文

建立SNS

進入AWS Console後,搜尋「SNS」並進入

進入SNS後,請選擇左側menu的Topic,並進入SNS條列頁
點選右上角的「Create topic」

輸入topic name,這邊輸入「New-Orders」,並點下 Create

看到成功頁面

建立SQS

這邊一共會建立二個Queue

搜尋SQS服務,並進入

點選右上角的「Create queue」

建立第一個Queue, name為Orders-for-Inventory, 並使用Standard模式,直接Create即可

接著建立第二Queue,name為Orders-for-Analytics,一樣使用Standard模式

可以看到剛剛新建立的二個Queue

將二個Queue訂閱Topic

您現已建立兩個 Amazon SQS 佇列,您必須為這些佇列訂閱 Amazon SNS 主題以廣播新訂單通知。

選擇二個剛剛建立的Queue後,點選Action->Subscribe to Amazon SNS topic

選擇剛剛建立的Topic,並按下Save

成功後,在SNS subscriptions中會顯示訂閱的topic資訊

將訊息發佈至Topic

現在Queue已經訂閱Topic了,來模擬新訂單。

先回到SNS Topic頁面,選擇剛剛的Topic後,點選右上角的「Push message」

輸入測試用的content,並按下Push message

1 x Widget @ $29.99 USD

2 x Widget Cables @ $4.99

確認Queue是否收到

在SNS發佈message後,理論上有訂閱Topic的端點都會收到,因此來檢查二個Queue是否都有收到。

回到SQS面頁, 選擇Orders-for-Inventory,並點選Action->Send and receive message

往下拉,並點選右上角的「Poll message」

成功後就可看到訊息清單出現在下面,並且可以點進去看detail

Message body

Orders-for-Analytics也可以做相同的動作來檢查是否有收到

SQS如何計費

每月前 100 萬個 Amazon SNS 請求免費。
之後,每 100 萬個 Amazon SNS 請求 0.50 USD。
價格可以參考官方

Reference

https://aws.amazon.com/tw/getting-started/hands-on/send-fanout-event-notifications/


上一篇
AWS新手的30天之旅 - 22. SQS( Amazon Simple Queue Service)
下一篇
AWS新手的30天之旅 - 24. Step function
系列文
AWS新手的30天之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言