订阅的SNS消息很大时,不会调用AWS Lambda

时间:2016-02-17 16:52:02

标签: amazon-sns aws-lambda

我有一个AWS lambda函数,它接受大量电子邮件地址并将它们提交给SES进行发送。该功能通过SNS订阅调用。当消息的电子邮件阵列大小很小时,它可以很好地工作,但是当消息的电子邮件数组大小很大时,不会调用lambda函数。没有记录....

我已确认有效负载低于所需的SNS消息大小,并且我已经通过我的电子邮件订阅了SNS主题......这有效。我通过电子邮件发送了预期的消息有效负载。

知道为什么会无声地失败?关于如何解决这个问题的建议?

2 个答案:

答案 0 :(得分:7)

后人:

配置交付状态'对于SNS主题。然后,它会将成功/失败记录到CloudWatch。

期待看到:

167542字节有效负载对于事件调用类型(限制为131072字节)来说太大了

所以......即使SNS可以发送更大的有效载荷,但这并不意味着可以用这个大小的有效载荷调用lambda。呸!

答案 1 :(得分:3)

有两种解决方法:

1)将数据发布到S3存储桶。让Lambda函数在该存储桶上侦听Object CREATE。

2)将数据发布到S3,并仅使用桶和密钥发布SNS事件,其中可以在S3中找到数据。让Lambda订阅SNS主题。

在任何一种情况下,您最终都会从Lambda函数中的S3存储桶中获取数据。现在你没有尺寸限制。 : - )