実装方法

Python で AWS Lambda からキューにメッセージを送信するには、以下の手順に従います。

  1. boto3モジュールをインポートします。
import boto3
  1. SQS (Simple Queue Service) クライアントを作成します。
sqs = boto3.client('sqs')
  1. メッセージを送信するためのキューの URL を取得します。キューの URL は、AWS Management Console や AWS CLI、または AWS SDK の他のメソッドを使用して取得できます。

  2. 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 パラメータには送信するメッセージの本文を指定します。

  1. 必要に応じて、メッセージの送信結果を取得したり、エラーハンドリングを行ったりすることができます。
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 とメッセージの内容を適切に指定してください。

参考