本節主要介紹原版 SDK 如何進行網路逾時配置。
重要
每個介面 API 都有獨立的 Request,命名方式為 ${API}${Request},例如 DescribeInstancesRequest。
逾時時間概念:
Connect Time:連線逾時,是指 SDK 端到服務端的 TCP 串連建立時間;
Read Time:讀逾時,是指串連建立之後,SDK 發送請求(request)到接受到響應完成(response end)的時間;
原版 SDK 的逾時機製為 Request 設定 -> Client 設定 -> 預設,優先順序依次降低;預設連線逾時為5秒,讀逾時為10秒:
IClientProfile profile = DefaultProfile.GetProfile(
// 地區ID
"<your-region-id>",
// 從環境變數擷取RAM使用者的AccessKey ID
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// 從環境變數擷取RAM使用者的AccessKey SECRET
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
DefaultAcsClient client = new DefaultAcsClient(profile);
// Client 層級的逾時設定,對當前所有 request 有效
DefaultAcsClient client = new DefaultAcsClient();
client.SetConnectTimeoutInMilliSeconds(1024);
client.SetReadTimeoutInMilliSeconds(2048);
// Request 層級的逾時設定 以 ECS 的 DescribeInstancesRequest 為例,僅對當前 request請求有效
DescribeInstancesRequest request = new DescribeInstancesRequest();
request.SetConnectTimeoutInMilliSeconds(1024);
request.SetReadTimeoutInMilliSeconds(2048);