全部產品
Search
文件中心

Alibaba Cloud SDK:重試機制

更新時間:Jul 01, 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)