AWS SNSからhttpsエンドポイント(webhook)にBeeceptorを使う
AWS SNSからwebhookに通知を行いたかったので、検証用のhttpsエンドポイントが簡単に作成できるBeeceptorを使用してみました。
Beeceptorは簡単にmock apiを作成することが可能なサービスです。
Beeceptorの使い方
「Create Endpoint」をクリックします。
こんな画面が表示されるので、あとはPOSTとかURLをお好みで作成できます。レスポンスボディなどもお好みで指定することが出来ます。
そのURLをcurlコマンドで叩けば、指定したレスポンスボディが返ってきます。
これでエンドポイント用mock apiが作成完了です。
SNSサブスクリプションのステータスを保留中の確認から確認済みのステータスにする
SNSのサブスクリプション登録するときに、プロトコルがhttp,httpsは確認のリンクが出てきます。そのリンクをクリック、またはマネジメントコンソールの「サブスクリプションの確認」にURLを貼り付ける必要があります。これでステータスが保留中から確認済みに変わります。
「サブスクリプションの作成」をクリックします。
mock apiは作成済みなのでエンドポイントURLに先ほど作成したmock apiのURLにします。
サブスクリプションを作成したら、mock apiにconfirmのメッセージが届いているはずなので、Beeceptorの画面より見てみます。
リクエストボディにJSON形式が渡っているのが確認できます。このJSONのSubscribeURLプロパティの値をブラウザでクリックするか、「サブスクリプションの確認」に貼り付けます。
これでステータスが確認済みになります。
トピック メッセージの発行
では今度はトピックに対してメッセージの発行(何かのイベント)をします。
マネジメントコンソール右上に「メッセージの発行」があるのでクリックします。
適当に「エンドポイントに送信するメッセージ本文」欄に何か入力して「メッセージの発行」をクリックします。これでBeeceptorのモックAPIのリクエストボディにSNSフォーマットのリクエストが渡ってきていることが確認できます。
反転部分がBeeceptorで設定したmock apiの戻り値となります。
纏め
AWS SNSのサブスクリプションでhttp,httpsプロトコルはPOSTメソッドのみ対応している
保留のステータスをスキップして確認済にすることはできない
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント