設計思想とプログラム

DynamoDB Stream + Lambda + SNS(Simple Notification Service) の連携処理をやってみた

スポンサーリンク

前説

前回の投稿でサンプルソースを掲載しましたが、いわゆる「やってみた系記事」のように、関連AWSサービスを、どう設定するか簡単に説明していきたいと思います。
Lambdaの関数登録手順は、今回は省いて、周辺AWSサービスの設定に焦点をあてて記事を書いていきます。

DynamoDBの設定

まずは、DynamoDBのテーブルのプロパティで「概要」タブの中から「ストリーム管理」をクリックして、ストリーム管理の有効化を行います。下記図

次に、DynamoDBのテーブルからトリガーとして、登録したLambdaを指定します。

 

この設定だけで、テーブルのデータに変更があった際に、DynamoDB Streamから変更データを供って、Lambdaを起動するように準備ができました。

SQS(Simple Queue Service)の設定

SNS(Simple Notification Service)のトピックが実行できているか確認する為に、SQS(Simple Queue Service)も併せて設定しておくと良いでしょう。

キューの作成は下記の通り、クイック作成で構いません。

SNSからSQSに情報連携する際には、SQS側にアクセス許可を与える必要があります。
※忘れがちですが、注意しましょう!

  • 条件:ArnLike
  • キー:aws:SourceArn
  • 値:arn:aws:sns:リージョン名:AWSアカウントID:*

で、発信元を自AWSアカウントのSNSからのアクセスのみ受け付けるように限定できます。

サブスクリプション登録用に、SQSのARNをメモしておく。

SNS(Simple Notification Service)の設定

トピックを作成したら、トピックの詳細画面からSQSをサブスクリプションとして追加する。

後は、SNSのARNをメモします。

Lambdaの環境変数設定

Lambdaの環境変数:TargetSnsTopicArnに、前手順でメモしたSNSのARNを設定します。

スポンサーリンク

-設計思想とプログラム
-, , , , , , ,

© 2020 とあるAWSエンジニアの戯言