AWS Lambda Tips 集
SQS による Lambda 関数のトリガー時に受信したメッセージが削除されず無限ループしてしまう
Lambda 関数の実行ロールに sqs:DeleteMessage
へのアクセス許可あるか確認する。
Amazon SQS での Lambda の使用 - AWS Lambda
関数が正常にバッチを処理すると、Lambda はキューからそのメッセージを削除します。
上記の記述のように、SQS による Lambda 関数のトリガー時は Lambda 関数の処理が正常に完了した際に、Lambda によりキューからメッセージが自動削除されます。
しかし、以下の記述のように、キューからメッセージにを削除するには、Lambda 関数の実行ロールに sqs:DeleteMessage
へのアクセス許可が必要です。
AWS Lambda 関数 (コンソール) をトリガーするキューの設定 - Amazon Simple Queue Service
Lambda 実行ロールに以下の許可が含まれている必要があります:
・sqs:DeleteMessage
・sqs:GetQueueAttributes
・sqs:ReceiveMessage