1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQSから呼び出したLambdaではDLQは使えない

Posted at

(※2023-11-17に書いた個人ブログの転記です。)

概要

SQSから呼び出した(=イベントソースにSQSを指定した)Lambda関数が、失敗しているにも関わらずLambdaに設定したDLQにメッセージが送信されていなかった。長らく原因がわからなずにいたが、AWSのサポートの方に教えてもらったのでメモしておく。

解説

SQSから呼び出した場合、Lambda関数は同期呼び出しになる。LambdaのDLQは非同期呼び出しの際に有効な機能である。そのため、LambdaイベントソースマッピングにSQSを使用している関数ではLambdaがエラーになってもDLQにメッセージは送られない。

リトライは、SQS側で可視性タイムアウト後に(メッセージ保持期間の間は)自動的に行われるが、それでも失敗した場合はSQSに設定したDLQにメッセージが送られる。そのため、SQS→Lambdaの場合のアラートなどはSQS側のDLQを対象とする必要がある。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?