我正在使用客户端>SNS>SQS>Lambda触发器
据我所知,SNS>Lamda将是异步调用
然而,SNS>SQS>Lambda应该是同步的。
- 我的理解正确吗
我已经在SQS源上配置了DLQ,但没有将失败的消息存储到DLQ中。在Lambda cloudwatch上也看到了2次重试尝试。
- 如果SNS>SQS>Lambda是同步的,我认为这不应该发生,对吗
@jellycsc已经在评论部分回答了您的问题,但我想扩展它。很快,它是基于轮询的,使用synchronous
调用。
AWS Lambda 有三种类型的调用模型
- 同步
- 弹性负载平衡
- Alexa
- Cognito
- API网关(也有异步版本(
- 异步
- S3
- SNS
- Cloudwatch/Eventbridge事件
- 基于民意调查
- Kinesis
- SQS
- DynamoDB流
根据这个博客文章
AWS将代表您管理轮询器,并通过这种类型的集成执行函数的
Synchronous
调用。此模型的重试行为基于数据源中的数据过期。例如,Kinesis数据流默认存储记录24小时(最多168小时(。