はじめに
引き続きDynamoDBのチュートリアルを実施しました。
今回はSNSです。
(バックナンバー)
1.DynamoDB テーブル作成
2.IAMポリシー/ロール作成
3.1 SNSトピック作成
aws sns create-topic --name wooferTopic
--name
- 書式 : --name
(value)
作成するトピックの名前。
(トピックと次に出てくるサブスクライブについては後述します)
3.2 SNSトピックにE-mailアドレスをサブスクライブ
aws sns subscribe \
--topic-arn arn:aws:sns:region:accountID:wooferTopic \
--protocol email \
--notification-endpoint example@example.com
※リージョン名(region)、アカウントID(accountID)、メールアドレス(example@~)はそれぞれ自分の環境に書き換えています
--topic-arn
- 書式 : --name arn:aws:sns:
(region)
:(accountID)
:(topic-name)
サブスクライブするトピックのARN。
--protocol / --notification-endpoint
- 書式 : --protocol
(value)
- 書式 : --notification-endpoint
(value)
配信に使用するプロトコルと通知を受信するエンドポイント。
それぞれ使用可能なのは下記の通り。
プロトコル | エンドポイント |
---|---|
http | http://~始まるURL |
https | https://~始まるURL |
メールアドレス | |
email-json | メールアドレス |
sms | 電話番号 |
sqs | SQSキューのARN |
application | モバイルアプリケーションとデバイスのエンドポイントARN |
lambda | Lambda関数のARN |
トピックとサブスクライブについて
トピックとは、公式ドキュメントには「通信チャネルとして機能する論理アクセスポイント」と書かれています。
Amazon SNSは「Publish(出版)-Subscribe(購読)モデル」であり(パブサブモデル、と呼ばれることも)、送信者と受信者が1対他となるメッセージ通知モデルですが、受信者の宛先を論理的にグループ化しているのがトピックです。
また、トピックにメッセージの受信者、つまりエンドポイントを登録する作業がサブスクライブとなります。
※イメージ図(AWSドキュメントより抜粋)
(公式ページなどを見ると、この辺りの用語を知っている前提で「トピックをサブスクライブする」しか書いていなかったりして「オイィ!?」となったりします……)
参考URL