Alibaba Cloud ソフトウェア開発キット (SDK) へようこそ。 Java 用 Alibaba Cloud SDK では、 Elastic Compute Service (ECS) 、 Server Load Balancer (SLB) 、CloudMonitor などの Alibaba Cloud リソースを複雑なコーディングをすることなく、独自のクラウド Java アプリケーションを構築できます。 このチュートリアルでは、 Java 開発環境の設定に関するガイダンスを 段階的に示します。 Alibaba Cloud SDK の使用中に問題が発生した場合は、 DingTalk グループの ID 11771185(Alibaba Cloud の公式 SDK カスタマーサービスグループ)にご相談ください。

前提条件

  • Alibaba Cloud アカウント、および対応する AccessKeyID と Secret が必要です。 AccessKey は Alibaba Cloud console で作成し取得するか、チケットを起票し、サポートセンターへお問い合わせください。
  • 製品の API を呼び出すために Alibaba Cloud Java SDK を使用するには、必要に応じて、まず Alibaba Cloud コンソールで製品を有効にする必要があります。
  • JDK 1.6 以降であることが必要です。

Java SDK のインストール

Apache Maven を使用して Java プロジェクトを管理する場合は、対応する依存関係をプロジェクトの pom.xml ファイルに追加するだけです。 Alibaba Cloud GitHubから異なるクラウド製品の Maven 依存関係をダウンロードできます。

どのクラウド製品を使用するかにかかわらず、コアライブラリをインストールする必要があります。 たとえば、 ECS リソースを使用する場合は、 ECS SDK ライブラリと SDK コアライブラリの両方をインストールする必要があります。

コアライブラリのバージョンが 3.7.0 で ECS ライブラリのバージョンが 4.11.0 の場合は、以下の通り pom.xml ファイルでこれら 2つ の SDK ライブラリを宣言する必要があります。
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>3.7.0</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.11.0</version>
</dependency>

Java SDKの使用

次のコード例は、 Alibaba Cloud Java SDK を使用するための 3 つの主な手順を示しています。

  1. DefaultAcsClient インスタンスを作成して開始します。
  2. API リクエストを作成してパラメーターを設定します。
  3. リクエストを開始して応答を処理します。
    package com.testprogram;
     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.kms.model.v20160120。*;
     public class Main {
         public static void main(String[] args) {
             // Create and initialize a DefaultAcsClient instance
             DefaultProfile profile = DefaultProfile.getProfile(
                 "<your-region-id>", // Region ID
                 "<your-access-key-id>", // The AccessKey ID of the RAM account
                 "<your-access-key-secret>"); // The AccessKey Secret of the RAM account
             IAcsClient client = new DefaultAcsClient(profile);
             // Initiate the request and handle the response or exceptions
             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 process the response
             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();
             }
         }
     }