Python 从boto3客户端获取重试次数

Python 从boto3客户端获取重试次数,python,amazon-web-services,boto3,Python,Amazon Web Services,Boto3,默认情况下,boto3(AWS Python SDK)为(所有?)客户端实现一个增量备份重试策略。可通过位于的retries.max_truments条目自定义。这在很多情况下对我来说都很有效。但是我没有关于实际需要多少次尝试的线索,除了你什么时候可以在客户端延迟中注意到它们 那么,是否有任何方法可以一致地获得成功请求到bot3客户端后使用的重试次数 检查它看起来像是handler.context.trunt\u number存储的,但我不知道在成功调用客户端后如何达到该目的。看起来每个客户端的

默认情况下,
boto3
(AWS Python SDK)为(所有?)客户端实现一个增量备份重试策略。可通过位于的
retries.max_truments
条目自定义。这在很多情况下对我来说都很有效。但是我没有关于实际需要多少次尝试的线索,除了你什么时候可以在客户端延迟中注意到它们

那么,是否有任何方法可以一致地获得成功请求到
bot3
客户端后使用的重试次数


检查它看起来像是
handler.context.trunt\u number
存储的,但我不知道在成功调用客户端后如何达到该目的。

看起来每个客户端的
响应元数据都带有该信息:-)

最小代码示例:

import logging
import boto3

client = boto3.client('s3')
response = client.list_buckets()
logging.info("Retry Attempts: %d", response['ResponseMetadata']['RetryAttempts'])

没有意识到这是公开的。您可以创建一个自定义botocore分叉,或者修改配置以不重试,然后自己在客户端执行退避/重试,计算重试次数。不理想,的确不理想,很有趣。我在boto3、botocore或AWS API中都找不到这方面的任何文档。也许这是boto3/botocore的一个特性。如果有文档就好了。是的,我计划把补丁提交给boto3文档