如何确认将消息传递到Amazon SQS队列?

时间:2016-09-26 09:26:08

标签: java amazon-web-services response message-queue amazon-sqs

我使用AWS sdk开发基于SQS的队列pub-sub。

在非常基本的原型中,我将消息同时推送到我已经创建的队列中。但是,我怎样才能确定我的消息被推送到队列中?

无论出于何种原因,保证推送的消息在此过程中不会失败的保证是什么?

Amazon API查询提供ResponseMetadata,其具有与该特定发送消息请求相关联的RequestID。是否足以确认将消息推送到队列?

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

亚马逊发送消息请求是否未向Http代码提供响应正文?

2 个答案:

答案 0 :(得分:1)

SendMessageResult。有一个getMessageId()可以为您提供由SQS分配给消息的消息ID。如果你得到了,那么这个消息肯定会得到传递。收到邮件时,邮件的使用者可以访问此相同的ID,ID为designed to be globally unique for an extended period of time

答案 1 :(得分:0)

AWS SendMessageRequest会为推送正在发送的邮件的每个请求发送状态代码。

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

但是由于我们不知道批处理中的哪些消息未被成功推送,因此这将导致批量消息被推送失败。