python - 从 boto3 客户端获取重试次数
问题描述
默认情况下boto3
(AWS Python SDK)为(所有?)客户端实施增量后退重试策略。这可以通过Botocore Configretries.max_attempts
中的条目进行自定义。在许多情况下,这对我来说都很好。但是我没有关于实际需要多少次尝试的痕迹,除了您何时可以在客户端延迟中注意到它们。
那么,有没有什么方法可以始终如一地获得成功向boto3
客户端请求后使用的重试次数?
检查它看起来像存储的代码handler.context.attempt_number
,但我不知道在成功调用客户端后如何访问它。
解决方案
看起来ResponseMetada
每个客户都带有该信息:-)
最小代码示例:
import logging
import boto3
client = boto3.client('s3')
response = client.list_buckets()
logging.info("Retry Attempts: %d", response['ResponseMetadata']['RetryAttempts'])
推荐阅读
- flutter - Flutter 文字背景与图
- java - 我们可以为 WhatsApp 贴纸应用程序实现多个内容提供程序吗?
- sql - 需要 mysql 查询来获取学生在单个查询中的 4 列(telegu,maths,social,english)的总分或总和
- python - 使用 WHERE 子句搜索 SQLite3 数据库
- c++ - 接受二维数组,将其乘以整数,并在 C++ 中返回新的二维数组的函数?
- javascript - 如何在 Next.js (React) 中制作粘性页脚
- java - 运行 java 类时,Tomcat 服务器不会在 Eclipse 中启动。引起:java.lang.NoClassDefFoundError: org/json/JSONException
- database - elasticsearch 在单个字段中聚合一些值
- postgresql - 运算符不存在:@timestamp without time zone
- html - 如何将谷歌工作表中单元格的值设置为 HTML 中的变量?