您可以通过get_client接口或者配置文件的方式,配置客户端抛出超时异常的时间。

背景信息

Alibaba Cloud SDK for Python超时分为连接超时(connection_timeout)和读超时(read_timeout)。其中,
  • connection_timeout:表示连接超时,TCP建立连接的时间阈值,单位为秒,默认为5秒。
  • read_timeout:表示读超时,客户端接收到服务端响应的时间阈值,单位为秒,默认为10秒。

方法一:通过get_client接口设置超时时间

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

如下示例代码,设置connection_timeout为10秒,read_timeout为20秒。

from alibabacloud import get_client, ClientConfig

client_config = ClientConfig(connection_timeout=10, read_timeout=20)
# 创建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)

方法二:通过配置文件设置超时时间

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

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

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

  2. 打开config.ini空文件,键入如下文本。
    connection_timeout: 5
    read_timeout: 10