amazon-web-services - AWS SNS > SQS > Lambda 触发器。这是异步调用还是同步调用?
问题描述
我正在使用 客户端 > SNS > SQS > Lambda 触发器
据我了解,SNS > Lamda将是一个异步调用
但是,SNS > SQS > Lambda应该是同步的。
- 我的理解正确吗?
我已经在 SQS 源上配置了 DLQ,但没有将失败的消息存储到 DLQ 中。在 Lambda cloudwatch 上也看到了 2 次重试。
- 如果SNS > SQS > Lambda是同步的,我认为这不应该发生,对吗?
解决方案
@jellycsc 已经在评论部分回答了你的问题,但我想扩展它。不久,它是基于轮询的,它使用synchronous
调用。
AWS Lambda 有三种类型的调用模型
- 同步
- 弹性负载平衡
- 亚历克斯
- 认知
- API Gateway(也有异步版本)
- 异步
- S3
- 社交网络
- Cloudwatch/Eventbridge 事件
- 基于投票的
- 运动
- SQS
- DynamoDB 流
根据这篇博文
AWS 将代表您管理轮询器,并
Synchronous
通过此类集成执行您的函数调用。此模型的重试行为基于数据源中的数据过期。例如,Kinesis Data 流默认存储 24 小时(最长 168 小时)的记录。
推荐阅读
- javascript - 我应该将 ReactJs 代码提取到其他文件吗
- firebase - 无法在 Firestore React Native Expo 上上传数据
- java - 如何在tr td的表中定位元素
- sql - 如何使用第一个查询的输出作为第二个查询的输入?
- python - 使用 Python 以编程方式提取 GoogleSheets gid
- html - 如何格式化从 API 获取的 JSON 数据
- laravel - Laravel 5.8 + Vue2JS 会话和组件中的旧值
- java - Pattern.matches() 针对 char 数组而不强制转换为 java 中的 String
- javascript - 在 Reactjs 中的 setState() 之后未定义(使用钩子)
- javascript - reactjs错误未捕获的ReferenceError:未定义要求