AWS SNS记录是否总是单元素列表?

3

AWS SNS事件包含一个记录列表,其中包含给定通知的消息。它总是一个单元素列表吗?

读取节点中SNS消息的蓝图代码是...

const message = event.Records[0].Sns.Message;

在Python中,它是这样的...
message = event['Records'][0]['Sns']['Message']

你的消息从哪里来? - John Rotenstein
2个回答

3

每个AWS SNS通知包含不超过1条消息。

请阅读SNS FAQ中的可靠性部分:https://aws.amazon.com/sns/faqs/

话虽如此,每个Lambda函数触发器只有一个记录。

现在您可能会遇到这样的问题:为什么event.Records被定义为数组?它是否可以通过其他方式以多个条目触发?

答案是,Records是一个数组,因为其他事件源可以一次发送多个事件(例如s3事件或dynamo db流),但对于SNS来说,虽然它是一个数组,但只有一条SNS消息。


0

event 的内容将是发送到 Amazon SNS 的任何内容。

这可能来自其他 AWS 服务(AWS Lambda 发布的示例事件源),也可以来自应用程序通过 publish() 命令。

因此……它包含发送应用程序放入该字段的任何内容!


问题并没有明确说明,但这看起来像是SNS → Lambda,答案总是“是”,因为这是外部包装器 - 而不是应用程序发布到SNS的内容。发布者无法影响event.Records[0].Sns之外的任何内容。 - Michael - sqlbot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接