Amazon SQS 遅延キュー - Amazon Simple Queue Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SQS 遅延キュー

遅延キューは、例えば、コンシューマアプリケーションがメッセージ処理にさらに時間を必要な場合、コンシューマへ新しいメッセージの配信を数秒延期することができます。遅延キューを作成した場合、そのキューに送信したすべてのメッセージは遅延期間中にコンシューマーに表示されません。キューのデフォルト(最小)遅延は0秒です。最大数は15分です。コンソールを使用して遅延キューを設定する方法の詳細については、「Amazon SQS コンソールを使用したキューのパラメータの設定」を参照してください。

注記

標準キューの場合は、キューごとの遅延設定には遡及性はありません。設定を変更しても、既にキューにあるメッセージの遅延には影響しません。

FIFOキューの場合は、キューごとの遅延設定に遡及性があります-設定を変更すると、既にキューにあるメッセージの遅延に影響します。

遅延キューでは、コンシューマーはメッセージを一定の時間使用できなくなるため、可視性タイムアウトと似ています。両者の違いは、遅延キューの場合はメッセージが最初にキューに追加されたときに非表示になるのに対し、可視性タイムアウトの場合は、メッセージがキューから処理された後のみ非表示になるという点です。次の図は、遅延キューと可視性タイムアウトの関係を示しています。

遅延キューと可視性タイムアウトの関係を示す図。

拡張スケジューリングオプション

Amazon SQS 遅延キューとメッセージタイマーでは、最大 15 分後にメッセージ配信をスケジュールできますが、より柔軟なスケジューリング機能が必要になる場合があります。このような場合は、EventBridge スケジューラを使用することを検討してください。これにより、時間制限なしで数十億の 1 回限りまたは定期的な API アクションをスケジュールできます。EventBridge スケジューラは、高度なメッセージスケジューリングのユースケースに推奨されるソリューションです。

キュー全体ではなく個々のメッセージに遅延秒を設定するには、メッセージタイマーを使用して、Amazon SQSが遅延キューDelaySecondsの値ではなくメッセージタイマーDelaySecondsの値を使用できるようにします。EventBridge スケジューラは、個々のメッセージのスケジューリングもサポートしています。