AWS: Publish SNS message for Lambda function via boto3 (Python2)

后端 未结 2 907
迷失自我
迷失自我 2021-02-01 15:25

I am trying to publish to an SNS topic which will then notify a Lambda function, as well as an SQS queue. My Lambda function does get called, but the CloudWatch logs state that

2条回答
  •  被撕碎了的回忆
    2021-02-01 16:26

    you need to add a default key to your message payload, and specify 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'
    )
    

提交回复
热议问题