\

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の送受信を行う基本的な手順です。この情報が役立つことを願っています。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です