Aws lambda SNS消息多次触发对Lambda函数的调用(处理过程中没有错误/超时)

Aws lambda SNS消息多次触发对Lambda函数的调用(处理过程中没有错误/超时),aws-lambda,amazon-sns,Aws Lambda,Amazon Sns,我注意到AWS Lambda的一个行为,其中一条SNS消息在同一个精确的时间戳上多次触发对Lambda函数的调用(订阅SNS主题),间隔几毫秒(处理过程中没有错误/超时) 将并发更新为“Reserve Concurrency”=>1可以防止这种情况发生,但这样做会影响此异步Lambda函数的可伸缩性 关于为什么会发生这种情况以及如何处理它以避免重复处理,您有什么想法吗?根据,异步触发的Lambda函数保证至少被调用一次 如果使用事件(异步)调用选项,函数将在响应事件时至少被调用一次,并且该函数必

我注意到AWS Lambda的一个行为,其中一条SNS消息在同一个精确的时间戳上多次触发对Lambda函数的调用(订阅SNS主题),间隔几毫秒(处理过程中没有错误/超时)

将并发更新为“Reserve Concurrency”=>1可以防止这种情况发生,但这样做会影响此异步Lambda函数的可伸缩性

关于为什么会发生这种情况以及如何处理它以避免重复处理,您有什么想法吗?

根据,异步触发的Lambda函数保证至少被调用一次

如果使用事件(异步)调用选项,函数将在响应事件时至少被调用一次,并且该函数必须是幂等函数才能处理此问题

这类似于SQS至少一次消息传递,因为您可以保证获得一次消息,但也可以额外获得几次消息


如果不想将并发限制降低到1,则必须使Lambda函数幂等,以便它能够优雅地处理多个调用。

验证您没有多次将Lambda函数订阅到该主题?验证进入Lambda发票的SNS消息是否完全相同?