前説
前回の投稿でサンプルソースを掲載しましたが、いわゆる「やってみた系記事」のように、関連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を設定します。