全部產品
Search
文件中心

Alibaba Cloud SDK:重試機制

更新時間:Jul 01, 2024

本節主要介紹V2.0 SDK 的重試機制。

V2.0 SDK 對 OpenAPI 請求中遇到網路問題的情況會進行重試,對於業務報錯則不會重試。在請求中通過運行時參數(RuntimeOption)配置重試,優先順序為 RuntimeOption > 預設;預設不會進行重試,如果開啟重試配置未配置重試次數,則預設最多重試3次:

import com.aliyun.ecs20140526.models.DescribeRegionsRequest;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;

public class Sample {
public static void main(String[] args) throws Exception {
        Config config = new com.aliyun.teaopenapi.models.Config();
        // 從環境變數擷取RAM帳號的AccessKey ID
        config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"));
        // 從環境變數擷取RAM帳號的AccessKey ID
        config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // 地區ID
        config.setRegionId("<regionId>");
        com.aliyun.ecs20140526.Client client = new com.aliyun.ecs20140526.Client(config);

        // 運行時參數重試設定,僅對使用了該運行時參數執行個體的請求有效
        RuntimeOptions runtimeOptions = new RuntimeOptions();
        // 開啟自動重試機制
        runtimeOptions.autoretry = true;
        // 設定自動重試次數
        runtimeOptions.maxAttempts = 3;

        DescribeRegionsRequest describeRegionsRequest = new DescribeRegionsRequest();

        client.describeRegionsWithOptions(describeRegionsRequest, runtimeOptions);
    }
}