我正在尝试发布到 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)
)
最佳答案
您需要向消息负载添加一个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'
)
关于python-2.7 - AWS : Publish SNS message for Lambda function via boto3 (Python2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34029251/