Amazon AWS SQS Java - нулевые атрибуты - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь получить атрибуты сообщений AWS SQS из каждого обрабатываемого сообщения.Я проверил, что атрибут есть и все написано правильно: Имя: RequestId Значение: thisistherequestid

Я получаю сообщения таким образом:

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

Я также пробовал:

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

Я попробовал две вещи, но они каждый раз возвращаются к нулю.

        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

...