PythonとAWS Lambdaを使用してAmazon SQSの送受信を行う方法について説明します。
Amazon SQSのキュー作成
まず、Amazon SQSでキューを作成します。今回は単純な送受信を行うだけなので、特別な設定は不要です。
import boto3
def lambda_handler(event, context):
sqs = boto3.resource('sqs')
queue = sqs.get_queue_by_name(QueueName="SampleQueue")
sqsresponse = queue.send_message(
MessageBody="2021-02-03 this is message body.",
MessageAttributes={
'id': {
'DataType': 'Number',
"StringValue": "123"
},
'url': {
'DataType': 'String',
'StringValue': "https:hogehoge.aws"
}
}
)
SQSメッセージ受信用Lambda関数の作成
次に、指定したキューのメッセージリスト(最大10)の全ての属性を取得し、削除します。
import boto3
import json
def lambda_handler(event, context):
sqs = boto3.resource('sqs')
queue = sqs.get_queue_by_name(QueueName="SampleQueue")
msg_list = queue.receive_messages(
MessageAttributeNames=['All'],
MaxNumberOfMessages=10
)
if msg_list:
for msg in msg_list:
print(msg.body)
print(msg.message_attributes.get('id').get('StringValue'))
print(msg.message_attributes.get('url').get('StringValue'))
msg.delete()
以上がPythonとAWS Lambdaを使用してAmazon SQSの送受信を行う基本的な手順です。この情報が役立つことを願っています。.