Java 如何从SQS消息中获取“ApproxiateReceiveCount”
我正在使用AmazonSQS。我的目标是使用JavaSDK(v2.10.4,Java11)读取Java 如何从SQS消息中获取“ApproxiateReceiveCount”,java,amazon-web-services,amazon-sqs,Java,Amazon Web Services,Amazon Sqs,我正在使用AmazonSQS。我的目标是使用JavaSDK(v2.10.4,Java11)读取ApproximateReceiveCount属性 我尝试了以下代码,但message.attributes()不包含所需的键: String getApproxiateReceiveCount(){ var receiveMessageRequest=receiveMessageRequest.builder() .queueUrl(“https://sqs.eu-west-1.amazonaws.c
ApproximateReceiveCount
属性
我尝试了以下代码,但message.attributes()
不包含所需的键:
String getApproxiateReceiveCount(){
var receiveMessageRequest=receiveMessageRequest.builder()
.queueUrl(“https://sqs.eu-west-1.amazonaws.com/012345678910/my-example-queue")
.build();
var sqsClient=sqsClient.builder().endpointOverride(URI.create()http://localhost:4576))build();
var响应=sqsClient.receiveMessage(receiveMessageRequest);
var message=response.messages().get(0);
return message.attributes().get(MessageSystemAttributeName.approxist\u RECEIVE\u COUNT);
}
如何开始接收messagesystemtributename.APPROXIMATE\u RECEIVE\u COUNT
键的条目,在此映射中?根据您链接的ReceiveMessage
,有一个名为AttributeName.N
的参数,描述为
需要随每条消息一起返回的属性列表。这些属性包括:
- [……]
- ApproximateReceiveCount–返回从队列接收到消息但未被删除的次数
String getApproxiateReceiveCount(){
var receiveMessageRequest=receiveMessageRequest.builder()
.queueUrl(“https://sqs.eu-west-1.amazonaws.com/012345678910/my-example-queue")
.AttributeNamesWithString(MessageSystemAttributeName.Approxist\u RECEIVE\u COUNT.toString())
.build();
var sqsClient=sqsClient.builder().endpointOverride(URI.create()http://localhost:4576))build();
var响应=sqsClient.receiveMessage(receiveMessageRequest);
var message=response.messages().get(0);
return message.attributes().get(MessageSystemAttributeName.approxist\u RECEIVE\u COUNT);
}
请注意,有两个名称类似的方法,您不能使用:
-参数enum未列出所需的键.attributeNames()
-对应于随消息正文发送的属性.messageAttributeNames()