您可以通过get_client接口或者配置文件来管理默认重试策略。

背景信息

Alibaba Cloud SDK for Python仅对ECS产品的API,提供了默认的重试和退避策略。您可以在配置中关闭默认重试,也可以定制您自己的默认重试策略,请参见使用自定义的重试策略

以下为默认的重试策略变量及默认值:

  • max_retry_times:表示单个请求的最大重试次数。默认为3次。
  • enable_retry:是否重试的开关,默认True为开启。一旦关闭,则该客户端下所有请求不重试,max_retry_times配置将不启用。
    说明 目前配置文件暂不支持开关类接口配置。开关类接口在配置文件中一经配置,enable_retry默认为开启重试。

方法一:通过get_client接口管理默认重试策略

get_client接口支持用户显示传递ClientConfig对象。您可以通过ClientConfig对象显示传递max_retry_timesenable_retry的参数值。

如下示例代码,设置重试次数。您也可以配置enable_retry=false关闭默认的重试。

from alibabacloud import get_client, ClientConfig

client_config = ClientConfig(max_retry_times=5) 
# 创建ecs client
ecs_client = get_client('ecs', access_key_id=access_key_id,
                        access_key_secret=access_key_secret,
                        region_id='cn-hangzhou',
                        config=client_config)
response = ecs_client.describe_regions()
print(response)

方法二:通过配置文件管理默认重试策略

您可以在配置文件下,自定义max_retry_timesenable_retry的值。

  1. 创建一个~/.alibabacloud/config.ini配置文件。

    在用户目录下,先创建一个隐藏的文件夹.alibabacloud,在该隐藏文件夹下创建config.ini空文件。

  2. 打开config.ini空文件,键入如下文本。
    max_retry_times:3