スキップしてコンテンツを表示

Lambda 関数を使用して Amazon SNS トピックにメッセージを発行する方法を教えてください。

所要時間1分
0

AWS Lambda 関数から Amazon Simple notification Service (Amazon SNS) トピックにメッセージを発行したいです。

解決策

次の手順を実行し、Lambda 関数を使用して Amazon SNS トピックにメッセージを送信します。

注: この記事の例では Python ランタイムを使用していますが、任意の Lambda ランタイムも使用できます。

  1. Amazon SNS トピックを作成します

  2. Lambda 関数を作成します

  3. Lambda 関数において、Lambda 実行ロールに次のような SNS メッセージを発行するためのアクセス許可があることを確認します。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublishSNSMessage",
                "Effect": "Allow",
                "Action": "sns:Publish",
                "Resource": "arn:aws:sns:your-region:your-account-number:your-topic-name"
            }
        ]
    }

    注: your-regionyour-account-number、およびyour-topic-name を実際の変数に置き換えます。

  4. Lambda の [関数] ページで [コード] タブを選択します。次に、[コードソース][Publish Boto3] アクションの次のコードをコピーしてコードエディタに貼り付けます。

    import json
    import boto3
    client = boto3.client('sns')
    def lambda_handler(event, context):
       response = client.publish(TopicArn='arn:aws:sns:your-region:account-number:topic-name',Message="Test message")
       print("Message published")
       return(response)
    
  5. Lambda 関数をテストします

Lambda 関数が Amazon Virtual Private Cloud (Amazon VPC) に接続されている場合は、次のいずれかを実行します。

関連情報

Lambda 関数を Amazon SNS トピックにサブスクライブしようとすると認証エラーが発生するのはなぜですか?

AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ