AWS SNS事件包含一个记录列表,其中包含给定通知的消息。它总是一个单元素列表吗?
读取节点中SNS消息的蓝图代码是...
const message = event.Records[0].Sns.Message;
在Python中,它是这样的...
message = event['Records'][0]['Sns']['Message']
AWS SNS事件包含一个记录列表,其中包含给定通知的消息。它总是一个单元素列表吗?
读取节点中SNS消息的蓝图代码是...
const message = event.Records[0].Sns.Message;
message = event['Records'][0]['Sns']['Message']
每个AWS SNS通知包含不超过1条消息。
请阅读SNS FAQ中的可靠性部分:https://aws.amazon.com/sns/faqs/
话虽如此,每个Lambda函数触发器只有一个记录。
现在您可能会遇到这样的问题:为什么event.Records被定义为数组?它是否可以通过其他方式以多个条目触发?
答案是,Records是一个数组,因为其他事件源可以一次发送多个事件(例如s3事件或dynamo db流),但对于SNS来说,虽然它是一个数组,但只有一条SNS消息。
event
的内容将是发送到 Amazon SNS 的任何内容。
这可能来自其他 AWS 服务(AWS Lambda 发布的示例事件源),也可以来自应用程序通过 publish()
命令。
因此……它包含发送应用程序放入该字段的任何内容!
event.Records[0].Sns
之外的任何内容。 - Michael - sqlbot