Boto 3の勉強 その5 (SQS)
引き続き、これの続きをやっていく。
今日は、SQSキューに複数(2つ)のメッセージを送信するところから
response = queue.send_messages( Entries=[ {"Id": "1", "MessageBody": "world"}, { "Id": "2", "MessageBody": "boto3", "MessageAttributes": { "Author": {"StringValue": "Daniel", "DataType": "String"} }, }, ] )
送信した2つのメッセージを取得してみる。
メッセージは2つなので、MaxNumberOfMessages
パラメータも2
に設定する。
get_message = queue.receive_messages(MaxNumberOfMessages=2) for message in get_message: print(message.body)
実行結果が下記
送信した2つのメッセージが取得できている。もちろん、MaxNumberOfMessages
パラメータが1
の場合、メッセージは1つずつしか取得できない。
% python sample-sqs.py world boto3
最後に全体のコードを残しておわり
import boto3 sqs = boto3.resource("sqs") queue = sqs.get_queue_by_name(QueueName="test-queue-20220301") response = queue.send_messages( Entries=[ {"Id": "1", "MessageBody": "world"}, { "Id": "2", "MessageBody": "boto3", "MessageAttributes": { "Author": {"StringValue": "Daniel", "DataType": "String"} }, }, ] ) get_message = queue.receive_messages(MaxNumberOfMessages=2) for message in get_message: print(message.body)