AWS SQSに属性を含むメッセージを渡して取得しようとしています。 管理コンソールからメッセージの属性を見ることはできますが、boto3を使用して取得することはできません。常にNoneを取得します。 "AttributeNames"を変更しても違いはありません。メッセージ本文を取得できます。OK。boto3を使用してSQSメッセージ属性にアクセスできない
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
これはうまくいきましたね))ありがとう –