Posted at

SQSのメッセージをトリガーにLambdaを起動する


1.SQSの作成

lambda-queue という名前で作成しておく。

image.png


2.Lambda用Roleの作成

Lambdaに「AWSLambdaSQSQueueExecutionRole」のポリシーをアタッチする。

image.png


3.Lambda関数の作成

python3.6、IAMロールは「2.Lambda用Roleの作成」で作成したものを指定する。

image.png

「1.SQSの作成」で作成したSQSキューを選択し、「有効」にする。

スクリーンショット 2019-07-29 18.26.43.png

Lambda関数を入れる。

from __future__ import print_function

def lambda_handler(event, context):
for record in event['Records']:
print ("test")
payload=record["body"]
print(str(payload))


4.実行確認

SQSからメッセージの送信。

スクリーンショット 2019-07-29 18.28.43.png

CloudWatchlogsを確認して、Lambda関数が実行されているか確認しましょう。

スクリーンショット 2019-07-29 18.34.20.png