2016-05-08 5 views
1

メッセージを連続的に受信するSQSキューがあります。私は最後の24時間に入ったメッセージだけを読んで処理する必要があります。現在到着するメッセージは、翌日に処理されるべきです。 Timestampは、メッセージの本文に格納されます。SQSキューから選択的にメッセージを読む

SQSキューからメッセージを選択的に読み取ることは可能ですか。たとえば、timestampの値が前日のタイムスタンプより大きいが現在のタイムスタンプ(現在のタイムスタンプはこのジョブが実行されている時刻)よりも小さいメッセージのみを読み込みます。

+1

ユースケースの詳細と、この動作が必要な理由を説明できますか? SQSキューを使用するのではなく、代替アプローチを提案することができます。 –

+0

メッセージキューサービス名は、順番に機能するため、その名前になります。消費されなかったメッセージはキューに戻ります。 – mootmoot

答えて

5

Amazon SQS ReceiveMessagesコマンドは、キューからメッセージ(またはメッセージのバッチ)を返します。メッセージはおおよそFIFO順(先入れ先出し)ですが、これは保証されません。

メッセージを選択的に取得する方法はありません。メッセージの内容、メッセージ属性、メッセージメタデータを使用して返されるメッセージを制限することはできません。それは基本的にスタックからメッセージをポップしています。

関連する問題