首页 > 解决方案 > 从 boto3 客户端获取重试次数

问题描述

默认情况下boto3(AWS Python SDK)为(所有?)客户端实施增量后退重试策略。这可以通过Botocore Configretries.max_attempts中的条目进行自定义。在许多情况下,这对我来说都很好。但是我没有关于实际需要多少次尝试的痕迹,除了您何时可以在客户端延迟中注意到它们。

那么,有没有什么方法可以始终如一地获得成功向boto3客户端请求后使用的重试次数?

检查它看起来像存储的代码handler.context.attempt_number,但我不知道在成功调用客户端后如何访问它。

标签: pythonamazon-web-servicesboto3

解决方案


看起来ResponseMetada每个客户都带有该信息:-)

最小代码示例:

import logging
import boto3

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

推荐阅读