本節主要介紹升級版 SDK 的逾時機制。
V2.0 SDK 實現了對請求參數的精細化管理,通過將商務邏輯參數與運行時配置參數明確劃分,有效降低了使用者在配置過程中的混淆可能性。在逾時配置上,V2.0 SDK 的逾時機製為 RuntimeOption -> Client 設定 -> 預設,優先順序依次降低。預設連線逾時為5秒,讀逾時為10秒:
import com.aliyun.ecs20140526.models.DescribeRegionsRequest;
import com.aliyun.teautil.models.RuntimeOptions;
public class Sample {
public static void main(String[] args) throws Exception {
com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
// 使用Credentials配置憑證。
config.setCredential(credentialClient);
config.setRegionId("<regionId>");
// Client 逾時參數設定
// 連線逾時預設 5 * 1000 毫秒
config.setConnectTimeout(5000);
// 讀逾時預設 10 * 1000 毫秒
config.setReadTimeout(10000);
com.aliyun.ecs20140526.Client client = new com.aliyun.ecs20140526.Client(config);
// 運行時參數逾時設定,僅對使用了該運行時參數執行個體的請求有效
RuntimeOptions runtimeOptions = new RuntimeOptions();
runtimeOptions.connectTimeout = 5000;
runtimeOptions.readTimeout = 10000;
DescribeRegionsRequest describeRegionsRequest = new DescribeRegionsRequest();
client.describeRegionsWithOptions(describeRegionsRequest, runtimeOptions);
}
}