やろうとしていること
CloudWatch Eventsをトリガーに定期で走らせているLambda functionが予期せぬエラーで終了した場合にSlackに通知するような仕組みを考えています。Lambdaのデッドレターキューの機能を使って失敗時にAmazon SNSのトピックにイベントを通知して、Amazon SNSからSlackに通知するような仕組みです。Amazon SNSのトピックは任意のfunctionから発行される想定です。
plain
1[Lambda function hoge] ---> [Amazon SNS] ---> [エラー通知用のLambda function] ---> [Slack] 2[Lambda function fuga] ---> ---^ 3[Lambda function piyo] ---> ---^
Slackにはエラーになったfunctionとそのエラーメッセージを通知したいと考えています。
plain
1AWS notification 2[ERROR] function ◯◯◯でエラーが発生しました。 3エラーメッセージ: △△△
困っていること
デッドレターキューの内容から元のfunctionが特定できなく、困っております。デッドレターキューの内容から「function ◯◯◯でエラーが発生しました」の◯◯◯の部分を特定する方法が分かりません。以下は参照したドキュメントです。
ドキュメントを参照する限り、デッドレターキューのメッセージ属性には
- RequestID
- ErrorCode
- ErrorMessage
の情報が載っているようですが、このうち元のfunctionを特定するにはRequestIDを使うことになると思います。このRequestIDから元のfunctionを特定する方法があるのか、どなたかご教授願います。
あなたの回答
tips
プレビュー