我有一个用 C# 编写的 Lambda 作为 Docker 容器上传。
Lambda 由 SNS 主题触发。
在 SNS 中,该主题有 2 个订阅,第一个是我的电子邮件,第二个是 Lambda。
当我用事件消息触发主题时,我收到一封包含事件 JSON 的电子邮件,并且触发了 Lambda。
出于某种原因我无法确定,当 Lambda 将 SNSMessage 对象的内容打印到控制台时,我得到了一组空字符串或空字符串。当我尝试反序列化事件中的消息内容时,这稍后会导致我的代码出现异常。
然而,我从 SNS 收到的电子邮件包含一个格式正确的 JSON 对象,其中包含完整的 SNS 对象。
如果我将这封电子邮件的内容复制到我的 Lambda UI 页面上的“测试”选项卡中,Lambda 会正确运行并且不会产生任何错误。
我以为 Lambda 的 SNS 触发器会自动将触发消息的内容传递给 Lambda 函数,但事实似乎并非如此。有谁知道为什么,以及如何解决我的问题?