Я не могу правильно добавить атрибуты. Я использую AWS 1.7 Когда я добавляю их, они отображаются в теле сообщения, а не в атрибутах. Я вижу это, когда я вхожу в консоль AWS.Амазонки SQS Атрибуты сообщений
добавить сообщение атрибутов с этим кодом:
Message awsMessage = new Message();
Map<String, MessageAttributeValue> messageAttributes =
new HashMap<String, MessageAttributeValue>();
messageAttributes.put("email", new MessageAttributeValue()
.withDataType("String")
.withStringValue(email));
messageAttributes.put("data", new MessageAttributeValue()
.withDataType("String")
.withStringValue(newFileName));
messageAttributes.put("template", new MessageAttributeValue()
.withDataType("String")
.withStringValue(filename));
awsMessage.setMessageAttributes(messageAttributes);
Я попытался использовать это, чтобы вытащить атрибуты:
List<Message> messages = SQSUtilityClass.getMessagesFromQueue(QUEUE_URL);
int size = messages.size();
Map<String, String> attributes = new HashMap<String, String>();
System.out.println("Size: "+size);
for(int x =0;x<size;x++){
Message message = messages.get(x);
//System.out.println(message.getBody());
attributes = message.getAttributes();
for(String key: attributes.keySet()){
System.out.println(key + " - "+ attributes.get(key));
}
}
Тем не менее, мои атрибуты находятся в теле сообщения при просмотре через AWS-консоли.