Lambda 関数が SQS キューによってトリガーされ、応答に最大 60 秒かかるサードパーティの ML API を呼び出します。Lambda のタイムアウトは 65 秒です。開発者は、関数が重複する SQS メッセージを処理することがあることに気づきました。関数が重複を処理しないようにするには、開発者は何を修正すべきですか?
解答を選択
オプションをタップして解答を確認してください。
正解: SQS キューの可視性タイムアウトを、サードパーティ API の最大応答時間よりも長く設定します。.
これが解答である理由
正解は、SQS キューの可視性タイムアウトをサードパーティ API の最大応答時間よりも長く設定することです。Lambda 関数が SQS メッセージを処理している間、そのメッセージはキューから非表示になります(可視性タイムアウト)。処理が完了する前に可視性タイムアウトが切れると、SQS はメッセージを別のコンシューマ(または同じコンシューマ)に再配信し、重複処理が発生します。サードパーティ API の応答に最大 60 秒かかるため、可視性タイムアウトを 60 秒より長く設定することで、Lambda が処理を完了するまでメッセージが非表示のままになり、重複配信を防ぐことができます。 Lambda 関数のメモリ割り当てを増やしても、API 応答時間には影響せず、重複処理は解決しません。Lambda 関数のタイムアウト設定を増やしても、可視性タイムアウトが短いままでは重複処理を防げません。SQS キューの配信遅延は、メッセージをキューに追加してからコンシューマが利用可能になるまでの時間を制御するものであり、重複処理とは関係ありません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要