Java SDK を使用する前に、 Java SDK をインストールして認証情報を取得していることを確認してください。

このドキュメントでは、 Alibaba Cloud Java SDK を使用してリクエストを行う方法を、 ECS を例として説明します。

  1. AcsClient インスタンスの作成
    IAcsClient client = new DefaultAcsClient(profile);
  2. リクエストの作成

    リクエストの命名規則は $ {apiName}Request です。 DescribeInstances のように、$ {apiName} となっている箇所が API 名です。

    複数の製品 SDK が使用されている場合、異なるリクエストが同じ名前を持つことがあります。 パッケージによってリクエストを区別します。
    DescribeInstancesRequest request = new DescribeInstancesRequest();
    request.setPageSize(10);
    request.setConnectTimeout(5000); // Set the connection timeout to 5000 milliseconds
    request.setReadTimeout(5000); // Set the read timeout to 5000 milliseconds
  3. 呼び出しと応答の処理
    DescribeInstancesResponse response;
    try {
        response = client.getAcsResponse(request);
        for (DescribeInstancesResponse.Instance instance:response.getInstances()) {
            System.out.println(instance.getPublicIpAddress());
        }
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        e.printStackTrace();
    }

    返された全てのフィールドは、応答へ逆シリアル化されます。 応答フィールドを取得するため、直接 response.getXXX() を呼び出すことができます。

    instanceStatus := response.getStatus()

    ただし、例外が発生した場合、または元の HTTP 応答を取得したい場合は、 doAction() メソッドを使用することができます。

    HttpResponse response = client.doAction(request);

コード例

リージョン内の ECS インスタンスをクエリを実行するため、以下のコードを実行します。

package TEST.TEST;
 import com.aliyuncs.profile.DefaultProfile;
 import com.aliyuncs.DefaultAcsClient;
 import com.aliyuncs.IAcsClient;
 import com.aliyuncs.exceptions.ClientException;
 import com.aliyuncs.exceptions.ServerException;
 import com.aliyuncs.ecs.model.v20140526.*;
 public class ECS {
     public static void main(String[] args) {
         //Create a DefaultAcsClient instance and initialize it
         DefaultProfile profile = DefaultProfile.getProfile(
             "cn-hangzhou",          // The region ID
             "LTAIiiarxj0AhJRX",      //The AccessKey ID of the RAM account
             "kFTcJkI8fLpo1LDrtAKbZyHH0RrC4X"); // The Access Key Secret of the RAM account
         IAcsClient client = new DefaultAcsClient(profile);
         // Create the request and set parameters
         DescribeInstancesRequest request = new DescribeInstancesRequest();
         request.setPageSize(10);
         request.setConnectTimeout(5000); // Set the connection timeout to 5000 milliseconds
         request.setReadTimeout(5000); // Set the read timeout to 5000 milliseconds
         // Initiate the request and handle the response or exceptions
         DescribeInstancesResponse response;
         try {
             response = client.getAcsResponse(request);
             for (DescribeInstancesResponse.Instance instance:response.getInstances()) {
                 System.out.println(instance.getPublicIpAddress());
             }
         } catch (ServerException e) {
             e.printStackTrace();
         } catch (ClientException e) {
             e.printStackTrace();
         }             
     }
 }kTrace();
         }             
     }
 }