AWS:指标中的 lambda 调用次数与实际调用次数不对应
Posted
技术标签:
【中文标题】AWS:指标中的 lambda 调用次数与实际调用次数不对应【英文标题】:AWS: Number of lambda invocations in metrics not corresponding with actual number of invocations 【发布时间】:2022-01-08 20:25:35 【问题描述】:大家好,
下面是我的 lambda 调用代码的 sn-p 与 boto3
:
lambda_client = boto3.client('lambda', region_name='eu-west-1')
json_payload = json.dumps(data)
lambda_response = lambda_client.invoke(target_lambda_arn, 'RequestResponse', json_payload)
在我看来,这应该只调用 1 个 lambda,因为它是 1 个调用,但如果我查看 lambda 指标,它显示在使用上述 sn-p 进行调用时总共有 4 个调用。如果我进行 2 次调用,则它总共显示 16 次调用。为什么会这样?不是应该两边都对应吗?
注意:上述 sn-p 是在一个 AWS Glue EDL 脚本中运行的,该脚本在 2 个工作节点和 G.1x 工作类型上运行,作业上没有设置重试。
提前致谢。
【问题讨论】:
【参考方案1】:可能是 Lambda 函数失败并导致重试?有关更多信息,您可以查看此资源:https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html 如果您希望禁用该功能,您可以通过访问您的 Lambda 函数并将重试次数设置为 0 来执行此操作。您可以在配置中找到此配置 - > 异步调用选项卡。您还可以查看 Cloudwatch 日志和指标,以更深入地了解根本原因。
【讨论】:
以上是关于AWS:指标中的 lambda 调用次数与实际调用次数不对应的主要内容,如果未能解决你的问题,请参考以下文章
如何从 laravel 调用现有的 AWS Lambda 函数?
如何从账户 A 中的 Lambda(VPC 中的 Lambda)调用账户 B 中的 AWS Lambda 函数(VPC 中的这个 Lambda)