全部产品
Search
文档中心

阿里云SDK:重试机制

更新时间:Jun 14, 2024

本文为您介绍V2.0 Python SDK的重试机制配置方式。

说明

在V2.0 SDK中,OpenAPI请求的处理逻辑内置了网络异常重试逻辑,即当遇到网络异常问题时,系统会自动尝试重新发起请求,以确保服务的稳定性和可靠性。若请求因业务逻辑错误而报错,例如参数错误、资源不存在等情况,SDK将不会执行重试操作,这是因为业务层面的错误通常需要应用程序根据具体的错误信息做出相应的处理或调整,而非简单地重复尝试。

重试机制配置方式

说明

超时机制配置优先级:RuntimeOption配置 -> 默认,优先级依次降低。

  • 使用默认配置。默认情况下不会进行重试,如果打开重试配置且未配置重试次数,则默认最多重试3次。

  • 通过运行时参数(RuntimeOptions)配置重试机制。

    import os
    
    from alibabacloud_ecs20140526.client import Client as EcsClient
    from alibabacloud_ecs20140526.models import DescribeRegionsRequest
    from alibabacloud_tea_openapi.models import Config
    from alibabacloud_tea_util.models import RuntimeOptions
    
    config = Config(
        access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
        access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
        endpoint='ecs-cn-hangzhou.aliyuncs.com'
    )
    ecs_client = EcsClient(config)
    runtimeOptions = RuntimeOptions(
        autoretry=True,  # 是否开启重试 默认关闭
        max_attempts=3  # 重试次数 默认3次
    )
    request = DescribeRegionsRequest()
    response = ecs_client.describe_regions_with_options(request, runtimeOptions)
    print(response.body)