aws-lambda - 使用 Kinesis 和 AWS lambda 如何跟踪重试以及批次何时重试?
问题描述
我可以看到类似的消息
START RequestId: 3fcc8e32-8736-4c9c-ba8e-6c57b97837ff
和
END RequestId: 3fcc8e32-8736-4c9c-ba8e-6c57b97837ff
但我知道我的 lambda 中有错误导致 lambda 重试。我想知道是否有任何默认的 cloudwatch 指标或我们可以在重试和重试失败的情况下寻找哪些 cloudwatch 日志关键字。
解决方案
AWS Lambda 将使用相同的请求 ID 来重试异步调用。您可以使用 Cloudwatch 洞察力检查重复的请求 ID 以及是否存在三个。三是异步请求的最大调用次数。
更新
此CloudWatch 洞察查询将显示具有多个相同请求 ID 的 Lambda 调用。因此,至少失败一次的异步调用。
stats count(*) as requestIdCount by @requestId
| filter @message like /START RequestId/
| filter requestIdCount > 1
样本输出
# @requestId requestIdCount
1 c0d5a65a-7db3-413e-8d1f-4b9da0f21a71 3
在Kinesis Lambda 被同步调用的情况下,因此没有明确的标识符表明 sdk 重试了哪个请求。虽然我认为解决方案是在写入 Kinesis 的数据中添加一个 udid,然后在 Lambda 函数的日志中搜索与上述类似的内容。
推荐阅读
- python - 隐蔽时间戳:它们是不可变的
- python - 使 QGroupBox 可选择和可点击
- docker - 在本地模式下运行 sagemaker studio 时没有这样的文件或目录:'docker':'docker'
- date - Flutter - 计算两个日期的月差
- python - 如何绘制 python pyviz 网络节点
- aws-amplify - 是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?
- ruby - 如何确定类似智能感知的建议来自何处?(并压制它)
- javascript - 如何通过js中的键搜索多层嵌套对象
- javascript - 如何在后端以自动方式录制 HTML 动画并将其保存为视频
- java - mvn test 不在springboot项目中运行单元测试