2016-09-26 12 views
1

私はAWS sdkを使用してSQSベースのキューpub-subを開発しています。Amazon SQS Queueへのメッセージの配信を確認する方法は?

非常に基本的なプロトタイプでは、すでに作成したキューにメッセージを同時にプッシュしています。しかし、どのように私のメッセージがキューにプッシュされていることを確認することができますか?

プッシュされたメッセージが何らかの理由でプロセスで失敗しないという保証はありますか?

Amazon APIクエリは、特定の送信メッセージ要求に関連付けられたRequestIDを持つResponseMetadataを提供します。キューへのメッセージのプッシュを確実に確認するには十分ですか?

String requestId = sqs.sendMessage(request).getSdkResponseMetadata().getRequestId(); 

Amazonのsendmessageリクエストでは、Httpコードのレスポンスボディが指定されていませんか?

答えて

0

AWS SendMessageRequestは、送信されているメッセージのプッシュ要求ごとにステータスコードを送信します。

int statusCode =  sendMessageResult.getSdkHttpMetadata().getHttpStatusCode(); 

しかし、これは我々が正常にプッシュされていないバッチ内のどれか分からないだろうとプッシュされるメッセージのバッチのために失敗します。

+0

したがって、 'SendMessageBatchResult'クラスを使用します。マイケルは元の質問に答えました。 – jbird

+0

これは動作しません –

1

SendMessageResultを参照してください。 getMessageId()には、SQSによってメッセージに割り当てられたmessage-idを渡す必要があります。もしあなたがそれを得るなら、メッセージは最も確かに届けられました。メッセージのコンシューマは、メッセージを受信したときに同じIDにアクセスし、IDはdesigned to be globally unique for an extended period of timeです。

関連する問題