Amazon AWS SQS Java-属性为空

时间:2018-10-01 20:01:42

标签: java amazon-web-services attributes amazon-sqs

我正在尝试从正在处理的每条消息中提取AWS SQS消息属性。我已经验证了属性是否存在,并且所有内容均拼写正确: 名称:RequestId 值:thisistherequestid

我这样收到消息:

messages = sqs.receiveMessage(request.withQueueUrl(queueUrl).withAttributeNames("All")).getMessages()

我也尝试过:

messages = sqs.receiveMessage(request.withQueueUrl(queueUrl).withAttributeNames("RequestId")).getMessages()

我已经尝试了两种方法,但是每次都返回null。

        for (Message m : messages) {
            Map<String, MessageAttributeValue> attributeValues = new HashMap<String, MessageAttributeValue>();
            attributeValues = m.getMessageAttributes();
            System.out.println("Attribute Values ===>  " + attributeValues.get("RequestId").getStringValue());

我也尝试过:

        for (Message m : messages) {
            Map<String, String> attributeValues = new HashMap<String, String>();
            attributeValues = m.getAttributes();
            System.out.println("Attribute Values ===>  " + attributeValues.get("RequestId"));

我不太确定这里出了什么问题。即使您只是这样做,属性也为空:

            attributeValues = m.getMessageAttributes();
            System.out.println("Attribute Values ===>  " + attributeValues);

知道我可能做错了什么吗?

这是我在AWS控制台中看到的内容:

enter image description here

0 个答案:

没有答案