画像処理会社は、画像をAmazon S3バケットにアップロードするウェブアプリケーションを運用しています。S3イベント通知は、オブジェクト作成イベントをAmazon Simple Queue Service (Amazon SQS) スタンダードキューに発行します。SQSキューは、画像を処理し、結果をユーザーにメールで送信するAWS Lambda関数のイベントソースです。ユーザーは、アップロードされた画像ごとに複数のメールを受信すると報告しています。ソリューションアーキテクトは、SQSメッセージがLambda関数を複数回呼び出し、重複したメールの原因となっていることを発見しました。運用上のオーバーヘッドを最小限に抑えつつ、この問題を解決するためにソリューションアーキテクトは何をすべきですか?
解答を選択
オプションをタップして解答を確認してください。
正解: SQSキューの可視性タイムアウトを、関数のタイムアウトとバッチウィンドウのタイムアウトの合計よりも大きい値に増やします。.
これが解答である理由
SQSキューの可視性タイムアウトをLambda関数の処理時間とバッチウィンドウの合計よりも長く設定することで、Lambdaがメッセージの処理中に他のコンシューマがそのメッセージを受け取って重複処理するのを防ぎます。これにより、Lambdaがメッセージを正常に処理して削除するまで、そのメッセージはキューから見えなくなります。 「ReceiveMessageの待機時間を30秒に増やす」は、メッセージの重複ではなく、ポーリング効率の改善に役立ちます。 「SQSスタンダードキューをSQS FIFOキューに変更する」は、順序性と厳密な重複排除を提供しますが、スタンダードキューの重複処理の問題を解決する直接的な方法としては過剰であり、運用上のオーバーヘッドが増加します。 「Lambda関数を変更して、メッセージを処理する前に、読み取った直後にSQSキューから各メッセージを削除する」は、処理が失敗した場合にメッセージが失われるリスクがあり、信頼性が低下します。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要