Lambda订阅SNS主题时,消息属性为什么以字符串形式传递的数字?

0

【以下的问题经过翻译处理】 我在一个SNS主题上有两个订阅者,一个是JSON-email,另一个是Lambda。当我发送一条带有数字类型的MessageAttributes的消息时,我的JSON-email中会以数字的形式得到它们,但在我的Lambda事件中却以字符串的形式得到。同一条消息,同一条messageId看起来像这样:

  "MessageAttributes" : {
    "Active" : {"Type":"Number","Value":"0"}
  }

  "MessageAttributes" : {
    "Active" : {"Type":"String","Value":"0"}
  }

这是一个bug吗,还是我做错了什么?

profile picture
专家
已提问 5 个月前11 查看次数
1 回答
0

【以下的回答经过翻译处理】 根据AWS文档,将Number类型的SNS消息属性发送到Lambda事件时会作为String类型处理,这不是bug。 https://docs.aws.amazon.com/sns/latest/dg/sns-message-attributes.html

AWS Lambda订阅不支持Number数据类型。如果您为Lambda端点指定此数据类型,则会在Amazon SNS传递给Lambda的JSON负载中以String数据类型传递。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则