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

Alibaba Cloud SDK:IDE で Java 用 Alibaba Cloud SDK を使用する

最終更新日:Jan 23, 2025

このトピックでは、Windows 上の統合開発環境 (IDE) で Java 用 Alibaba Cloud SDK を使用する方法について説明します。この例では、IntelliJ IDEA を使用します。

前提条件

SDK の使用

OpenAPI Explorer で提供されるサンプルプロジェクトを使用する

  1. OpenAPI Explorer にアクセスします。使用する API オペレーションを検索します。この例では、Elastic Compute Service (ECS) の DescribeInstanceTypeFamilies オペレーションを使用します。検索ボックスに DescribeInstanceTypeFamilies と入力し、検索結果で DescribeInstanceTypeFamilies をクリックして API デバッグページに移動します。

    image

  2. 中央の列にある [パラメーター] タブで、ビジネス要件に基づいてパラメーターを指定します。パラメーターを指定する際は、右端の列にある [ドキュメント] タブの情報をお読みください。オペレーションの使用方法と各パラメーターの説明を理解していることを確認してください。課金関連の情報に注意してください。この例では、DescribeInstanceTypeFamilies オペレーションは 2 つのリクエストパラメーターをサポートしています。RegionId パラメーターには cn-hangzhou などの値を指定する必要があります。Generation パラメーターはオプションです。このパラメーターを ecs-5 に設定できます。これは V シリーズインスタンスファミリーを示します。パラメーターの有効な値は、[ドキュメント] タブで確認できます。

    image

  3. 右端の列にある [SDK サンプルコード] タブで、プログラミング言語を選択し、[プロジェクトのダウンロード] をクリックして、完全な SDK プロジェクトをコンピューターにダウンロードします。次に、パッケージを解凍します。

    説明

    完全なプロジェクトには、SDK 情報と API オペレーションを呼び出すためのデモが含まれています。

    image

  4. IntelliJ IDEA を開き、上部のナビゲーションバーで [ファイル] > [開く] を選択し、解凍したプロジェクトフォルダーを選択します。Maven が依存関係を自動的にインストールするまで待ちます。

  5. このオペレーションを呼び出す前に、アクセス資格情報として AccessKey ペアを取得する必要があります。Resource Access Management (RAM) ユーザーの AccessKey ペアを使用することをお勧めします。詳細については、「AccessKey ペアの作成」トピックの「RAM ユーザーの AccessKey ペアを作成する」セクションをご参照ください。

    重要

    RAM ユーザーの AccessKey ペアを取得したら、環境変数に AccessKey ペアを設定する必要があります。詳細については、「Linux、macOS、および Windows で環境変数を設定する」をご参照ください。

  6. SDK デモコードを実行します。

    左側のディレクトリツリーで、Sample をダブルクリックして開きます。エディターの右上隅にある [実行] アイコンをクリックして、コードを実行します。

    image

  7. 結果を表示します。コンソールの 下部にある [実行] ウィンドウ内の任意の場所をクリックし、Ctrl+F を押して statusCode を検索します。"statusCode":200 が表示されている場合、呼び出しは成功しています。

    image

既存のプロジェクトに SDK をインストールする

  1. SDK を取得します。

    SDK Center にアクセスし、SDK を使用するクラウドサービスを選択します。この例では、ECS を使用します。SDK バージョンとして [V2.0] を、プログラミング言語として [java] を選択します。[クイックスタート] タブの [インストール方法] セクションで、[apache Maven] を選択します。

    image

  2. SDK をインポートします。

    IntelliJ IDEA で作成した Maven プロジェクトを開きます。pom.xml ファイルで、<dependencies></dependencies> タグを作成し、手順 1 で取得したコードをタグ内にコピーします。

        <dependencies>
            <!--ECS V2.0 SDK --> 
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>ecs20140526</artifactId>
                <version>5.1.2</version>
            </dependency>
        </dependencies>

    image

  3. プロジェクト名を右クリックし、[Maven] > [プロジェクトの再読み込み] を選択して、Maven 依存関係をダウンロードします。

    image

  4. Java クラスを作成します。

    プロジェクトの src/main/java ディレクトリで、java フォルダーを右クリックし、[新規] > [Java クラス] を選択します。この例では、Java クラスの名前は Sample です。

    image

  5. クラウドサービスクライアントを初期化します。

    重要
    1. クライアントを初期化する際には、AccessKey ペアを使用して本人確認を完了する必要があります。この場合、事前に AccessKey ペアを取得する必要があります。AccessKey ペアの取得方法については、「AccessKey の作成」をご参照ください。

    2. RAM ユーザーの AccessKey ペアを取得したら、環境変数に AccessKey ペアを設定する必要があります。詳細については、「Linux、macOS、および Windows で環境変数を設定する」をご参照ください。

    3. エンドポイントの設定方法については、「エンドポイント」をご参照ください。

    import com.aliyun.ecs20140526.Client;
    import com.aliyun.teaopenapi.models.Config;
    
    public class Sample {
        public static void main(String[] args) throws Exception {
            Config config = new Config()
                    .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) // AccessKey ID を設定します。
                    .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); // AccessKey Secret を設定します。
            config.endpoint = "ecs-cn-hangzhou.aliyuncs.com"; // エンドポイントを設定します。
            Client client = new Client(config);
        }
    }
  6. API オペレーションを呼び出します。

    API オペレーションを呼び出す前に、対応する API ドキュメント を読む必要があります。

    クラウドサービスの Maven 依存関係では、クラウドサービス SDK は各 API オペレーションのリクエストクラスとレスポンスクラスを提供します。リクエストクラスは、パラメーターと値の型を定義します。レスポンスクラスは、レスポンスパラメーターを定義します。これにより、オペレーションを呼び出す際のスペルミスを防ぎます。

    たとえば、describeInstanceTypeFamilies オペレーションの場合、リクエストクラスは DescribeInstanceTypeFamiliesRequest で、レスポンスクラスは DescribeInstanceTypeFamiliesResponse です。

    説明

    リクエストクラスの命名規則: API名 + Request

    レスポンスクラスの命名規則: API名 + Response

    import com.aliyun.ecs20140526.Client;
    import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesRequest;
    import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesResponse;
    import com.aliyun.teaopenapi.models.Config;
    
    public class Sample {
        public static void main(String[] args) throws Exception {
                Config config = new Config()
                        .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                        .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
                config.endpoint = "ecs-cn-hangzhou.aliyuncs.com";
                Client client = new Client(config);
                DescribeInstanceTypeFamiliesRequest describeInstanceTypeFamiliesRequest = new DescribeInstanceTypeFamiliesRequest();
                describeInstanceTypeFamiliesRequest.setRegionId("cn-hangzhou"); // RegionId パラメーターを設定します。
                DescribeInstanceTypeFamiliesResponse describeInstanceTypeFamiliesResponse = client.describeInstanceTypeFamilies(describeInstanceTypeFamiliesRequest);
        }
    }
    
  7. 例外を処理します。Alibaba Cloud SDK は、例外を統一的に処理します。

    TeaException: このタイプの例外は、ビジネスエラーによって発生します。このような例外を処理するために、次の 3 つのパラメーターが提供されます。

    • code: 例外が発生したときに返されるエラーコード。

    • message: 例外が発生したときに返されるエラーメッセージ。メッセージには、例外がスローされた API リクエストの ID が含まれています。

    • data: 例外が発生したときにサーバーから返される詳細なエラー情報。

    import com.aliyun.ecs20140526.Client;
    import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesRequest;
    import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesResponse;
    import com.aliyun.tea.TeaException;
    import com.aliyun.teaopenapi.models.Config;
    
    public class Sample {
        public static void main(String[] args) {
            try {
                Config config = new Config()
                        .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                        .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
                config.endpoint = "ecs-cn-hangzhou.aliyuncs.com";
                Client client = new Client(config);
                DescribeInstanceTypeFamiliesRequest describeInstanceTypeFamiliesRequest = new DescribeInstanceTypeFamiliesRequest();
                describeInstanceTypeFamiliesRequest.setRegionId("cn-hangzhou");
                DescribeInstanceTypeFamiliesResponse describeInstanceTypeFamiliesResponse = client.describeInstanceTypeFamilies(describeInstanceTypeFamiliesRequest);
            } catch (TeaException teaException) {
                // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ出力されます。
                // エラーコードを表示します。
                System.out.println(teaException.getCode());
                // エラーメッセージを表示します。エラーメッセージにはリクエスト ID が含まれています。
                System.out.println(teaException.getMessage());
                // サーバーから返される詳細なエラー情報を表示します。
                System.out.println(teaException.getData());
            } catch (Exception e) {
                TeaException error = new TeaException(e.getMessage(), e);
                // 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ出力されます。
                // エラーメッセージ。
                System.out.println(error.getMessage());
                // 対応するエラー診断の URL。
                System.out.println(error.getData().get("Recommend"));
                com.aliyun.teautil.Common.assertAsString(error.message);
            }
        }
    }
    

FAQ

  • コードを実行すると「java: error: release version X not supported」というエラーメッセージが返される場合はどうすればよいですか?

    Ctrl+Alt+Shift+S を押して、[プロジェクト構造] ダイアログボックスを開きます。左側のナビゲーションペインで [モジュール] をクリックします。使用する JDK のバージョンに基づいて、[言語レベル] ドロップダウンリストから値を選択します。たとえば、JDK 8 を使用する場合は、8-Lambdas, type annotations etc. を選択します。[適用] をクリックし、次に [OK] をクリックします。

    image

  • コードを実行すると「java: Compilationfailed: internal java compiler error」というエラーメッセージが返される場合はどうすればよいですか?

    IntelliJ IDEA コンソールのトップナビゲーションバーで、[ファイル] > [設定] を選択します。[設定] ダイアログボックスで、左側のナビゲーションペインの [ビルド、実行、デプロイ] > [コンパイラー] > [Java コンパイラー] を選択します。プロジェクトバイトコードバージョンとターゲットバイトコードバージョンを、使用する JDK のバージョンに設定します。たとえば、JDK 8 を使用する場合は、バージョンを 8 に設定します。[適用] をクリックし、次に [OK] をクリックします。

    image

関連オペレーション

高度なオペレーション