【问题标题】:Are AWS SNS Records always a single element list?AWS SNS 记录是否始终是单个元素列表?
【发布时间】:2020-06-28 13:27:07
【问题描述】:

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

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

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

在python中它是..

message = event['Records'][0]['Sns']['Message']

【问题讨论】:

  • 你的信息来自哪里?

标签: python node.js amazon-web-services amazon-sns


【解决方案1】:

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

请阅读 SNS 常见问题解答中的可靠性部分:https://aws.amazon.com/sns/faqs/

话虽如此,每个 lambda 函数触发器将只有一条记录

现在你可能会问为什么 event.Records 被定义为一个数组呢?也可以通过其他方式触发多个条目吗?

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

【讨论】:

    【解决方案2】:

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

    这可能来自其他 AWS 服务 (Sample Events Published by Event Sources - AWS Lambda),也可能来自通过 publish() 命令的应用程序。

    所以...它包含发送应用程序放入该字段的任何内容!

    【讨论】:

    • 问题没有这么说,具体来说,但这看起来像 SNS → Lambda,答案总是“是”,因为这是外包装——而不是应用程序发布到 SNS 的内容.发布者不能影响event.Records[0].Sns之外的任何内容。
    猜你喜欢
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多