Amazon SNSとLambda関数の連携方法

求人

Amazon SNSとLambda関数の連携方法についてです。

Amazon SNSのTopicにメッセージを送信し、Lambda関数を実行してみます。

まずAmazon SNSの「Topics」-「Create new topic」をクリックします。

Topic nameやDisplay nameは適当でも構いません。以下のように「test」というTopicを作成しました。

Amazon SNSとLambda関数の連携方法

次に、Subscriptionsを作成します。「Createt subscription」をクリックします。

「Topic ARN」にTopicsで作成した際のARNを入力します。

「Protocol」に、AWS Lambdaを選択します。

「End point」に、作成しているLambda関数一覧が出てきますので、呼び出したいLambda関数を選びます。

「Version or arias」は、defaultにします。詳細はこちらを参照ください。

Amazon SNSとLambda関数の連携方法

「Create subscription」をクリックします。

このタイミングで、選択したLambda関数のトリガーにSNSが設定されます。

Amazon SNSとLambda関数の連携方法

Topicにメッセージを送信する

Topicにメッセージを送信すると、それをトリガーとして、選択したLambda関数が実行されます。

Topicsからメッセージを送信したいTopicを選択します。ここでは「test」を選択します。

すると、「Publish to topic」が有効になるので、クリックします。

Amazon SNSとLambda関数の連携方法

適当なメッセージを入力して「Publish message」をクリックすると、Lambda関数が実行されます。

Amazon SNSとLambda関数の連携方法

参考サイト

SNSから送信されたメッセージをLambda関数で受け取る

今度はJSON形式(文字列)で送信されたメッセージをLambda関数で受け取ってみます。

SNSから送るメッセージは以下にします。lambdaプロパティの値が渡ってくるようです。

“{‘test’:’abc’}”がJSON形式ですが文字列で渡ってきます。その為、Lambda関数では、JSON.parse()しないといけませんので注意です。

ちなみにLambda関数で取得するには以下のようにeventから取得します。

以下、Lambda関数の例です。

参考サイト

Lambda関数からSNSメッセージ送信方法

Lambda関数からSNSメッセージ送信するにはpublishメソッドを使用します。

以下、記述例です。

ここの、TopicArnには、SNSのTopicARNを指定します。

このLambda関数を実行するとSNSが実行されますが、確認ができません。

確認するにはメールを送るなどして確認する必要があります。

SNSでTopicを作成し、「Create subscription」をクリックします。

Amazon SNSとLambda関数の連携方法

プロトコルがemailのsubscriptionができますので、この状態でこのTopicARNにSNSを送信すると、指定したメールアドレスにメールが送信されてきます。

以下のように送信されました。

Amazon SNSとLambda関数の連携方法

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA