すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud SDK:タイムアウト期間の設定

最終更新日:Jan 15, 2025

このトピックでは、Alibaba Cloud SDK V1.0 でネットワークタイムアウト期間を設定する方法について説明します。

説明

各 API オペレーションには一意のリクエストオブジェクトがあります。リクエストオブジェクトは、${API}${Request} の形式で名前が付けられます。たとえば、リクエストオブジェクトは DescribeRegionRequest です。

SDK V1.0 で設定されたタイムアウト期間は、次の降順で有効になります。リクエストオブジェクトに指定したタイムアウト期間、SDK クライアントに指定したタイムアウト期間、デフォルトのタイムアウト期間。接続リクエストのデフォルトのタイムアウト期間は 5 秒で、読み取りリクエストのデフォルトのタイムアウト期間は 10 秒です。

public static void main(String[] args) {
    // SDK クライアントを初期化するときに指定したタイムアウト期間は、すべてのリクエストに使用されます。
    HttpClientConfig clientConfig = HttpClientConfig.getDefault();
    // 読み取りリクエストのデフォルトのタイムアウト期間は 10,000 ミリ秒です。値は、式 10 × 1000 = 10,000 を使用して計算されます。
    clientConfig.setReadTimeoutMillis(readTimeoutMillis);
    // 接続リクエストのデフォルトのタイムアウト期間は 5,000 ミリ秒です。値は、式 5 × 1000 = 5,000 を使用して計算されます。
    clientConfig.setConnectionTimeoutMillis(connectionTimeoutMillis);
    IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret);
    profile.setHttpClientConfig(clientConfig);
    DefaultAcsClient client = new DefaultAcsClient(profile);

    // リクエストオブジェクトに指定したタイムアウト期間は、現在のリクエストにのみ使用されます。
    request.setSysReadTimeout(readTimeoutMillis);
    request.setSysConnectTimeout(connectionTimeoutMillis);
}