実装方法
Python で AWS Lambda からキューにメッセージを送信するには、以下の手順に従います。
boto3
モジュールをインポートします。
import boto3
- SQS (Simple Queue Service) クライアントを作成します。
sqs = boto3.client('sqs')
-
メッセージを送信するためのキューの URL を取得します。キューの URL は、AWS Management Console や AWS CLI、または AWS SDK の他のメソッドを使用して取得できます。
-
send_message
メソッドを使用してメッセージを送信します。
import boto3
sqs_client = boto3.client('sqs')
def push_message(message_body):
"""SQSの特定キューにメッセージをPUSHする
Args:
message_body: PUSHするメッセージ
Returns:
sqsメッセージ送信時のレスポンス
"""
queue_url = "https://sqs.ap-northeast-1.amazonaws.com/XXXXXXXXXXXX/my-sqs"
response = sqs_client.send_message(
QueueUrl=queue_url,
MessageBody=message_body
)
message_id = response['MessageId']
print(f'Message sent with ID: {message_id}')
上記の例では、send_message
メソッドを使用してメッセージを送信しています。QueueUrl
パラメータには送信先のキューの URL を指定します。MessageBody
パラメータには送信するメッセージの本文を指定します。
- 必要に応じて、メッセージの送信結果を取得したり、エラーハンドリングを行ったりすることができます。
import boto3
sqs_client = boto3.client('sqs')
def push_message(message_body):
"""SQSの特定キューにメッセージをPUSHする
Args:
message_body: PUSHするメッセージ
Returns:
sqsメッセージ送信時のレスポンス
"""
try:
queue_url = "https://sqs.ap-northeast-1.amazonaws.com/XXXXXXXXXXXX/my-sqs"
response = sqs_client.send_message(
QueueUrl=queue_url,
MessageBody=message_body
)
message_id = response['MessageId']
print(f'Message sent with ID: {message_id}')
except Exception as e:
print(f'Error sending message: {str(e)}')
上記の例では、send_message
メソッドの呼び出しで発生した例外をキャッチして、エラーメッセージを表示しています。エラーハンドリングには、適切な方法を選択してください。
以上の手順に従って、AWS Lambda からキューにメッセージを送信できます。送信先のキューの URL とメッセージの内容を適切に指定してください。
参考
SQS - Boto3 1.35.44 documentation
boto3.amazonaws.com