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'
)