AWS: boto3 (Python2) 経由で Lambda 関数の SNS メッセージを発行する 質問する

AWS: boto3 (Python2) 経由で Lambda 関数の SNS メッセージを発行する 質問する

SNS トピックに公開して、Lambda 関数と SQS キューに通知しようとしています。Lambda 関数は呼び出されますが、CloudWatch ログには「イベント」オブジェクトが None であると表示されます。boto3 ドキュメントには、kwarg MessageStructure='json' を使用するように記載されていますが、ClientError がスローされます。

十分な情報を提供できたと思います。

コード例:

import json
import boto3

message = {"foo": "bar"}
client = boto3.client('sns')
response = client.publish(
    TargetArn=arn,
    Message=json.dumps(message)
)

ベストアンサー1

defaultメッセージペイロードにキーを追加し、以下を指定する必要がありますMessageStructure

import json
import boto3

message = {"foo": "bar"}
client = boto3.client('sns')
response = client.publish(
    TargetArn=arn,
    Message=json.dumps({'default': json.dumps(message)}),
    MessageStructure='json'
)

おすすめ記事