状況 - 次のラムダがあります。
- Node.js v8で構築されています
console.log()
ステートメントがあります- SQS イベントによってトリガーされます
- 正常に動作します (ダウンストリーム システムはすべてのメッセージを受信し、AWS X-Ray はそれらの実行を確認できます)
問題:
- このラムダは何も記録しません!
ただし、同じラムダが手動で呼び出された場合 ([テスト] ボタンを使用)、すべてのログ ステートメントが CloudWatch に表示されます。
私のラムダはこのチュートリアルに基づいています: https://www.jeremydaly.com/serverless-consumers-with-lambda-and-sqs-triggers/
ラムダが別のラムダ (再帰) 内から呼び出された場合、非常によく似た状況が発生します。最初のラムダのみが (手動で開始された) ログを記録しますが、再帰チェーン内の次のすべてのラムダは何もログに記録しません。
例はここにあります: https://theburningmonk.com/2016/04/aws-lambda-use-recursive-function-to-process-sqs-messages-part-1/
この問題にどのように取り組むかについてのアイデアは高く評価されます。