当订阅的SNS消息较大时,AWS Lambda未被调用

4
我有一个 AWS lambda 函数,它接受一个大的电子邮件地址数组并将其提交给 SES 进行发送。该函数通过 SNS 订阅调用。当消息的电子邮件数组大小较小时,它可以很好地工作,但当消息的电子邮件数组大小较大时,lambda 函数不会被调用。没有日志记录发生...
我已确认有效载荷低于所需的 SNS 消息大小,并且我已通过我的电子邮件订阅了 SNS 主题...这是有效的。我收到了预期的消息有效载荷的电子邮件。
为什么会无声失败?如何解决这个问题?
2个回答

7

供后代参考:

配置SNS主题的“交付状态”。然后它将记录成功/失败到CloudWatch中。

预计会看到以下内容:

167542字节的有效载荷对于此事件调用类型(限制为131072字节)过大

因此...即使SNS可以发送较大的有效载荷,这并不意味着lambda可以使用此大小的有效载荷进行调用。糟糕!


3
一些解决方法:
1)将数据发布到S3存储桶中。使Lambda函数监听该存储桶上的Object CREATE事件。
2)将数据发布到S3,并发出只有存储数据所在的存储桶和键的SNS事件。使Lambda订阅该SNS主题。
无论哪种情况,您最终都要在Lambda函数内部从S3存储桶中获取数据。现在你没有尺寸限制了。 :-)

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