我正在尝试通过AWS SQS传递和检索带有属性的消息。虽然我可以通过管理控制台看到消息的属性,但使用boto3无法获取它们,始终返回None。更改“AttributeNames”没有任何影响。消息正文可以成功检索。
import boto3
sqs = boto3.resource('sqs', region_name = "us-west-2")
queue = sqs.get_queue_by_name(QueueName='test')
queue.send_message(MessageBody = "LastEvaluatedKey",
MessageAttributes ={
'class_number':{
"StringValue":"Value value ",
"DataType":"String"
}
}
)
messages = queue.receive_messages(
MaxNumberOfMessages=1,
AttributeNames=['All']
)
for msg in messages:
print(msg.message_attributes) # returns None
print(msg.body) # returns correct value