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

Enterprise Distributed Application Service:Java SDK を使用した EDAS API の呼び出し

最終更新日:Mar 12, 2026

Enterprise Distributed Application Service (EDAS) は、EDAS API を型付けされたリクエストオブジェクトと応答オブジェクトにラップする Java SDK を提供します。このガイドでは、SDK のインストール、認証設定、およびアプリケーションとそのデプロイグループをリスト表示する実用的な例について説明します。

前提条件

開始する前に、以下が準備できていることを確認してください:

  • Java 開発キット (JDK) 1.6 以降Oracle JDK からダウンロードしてください。

  • Apache Maven (Maven インストール方法で必要)

SDK のインストール

ビルドマシンがインターネットにアクセスできるかどうかに基づいて、方法を選択してください。

方法 1: Maven 依存関係の追加 (推奨)

ビルドマシンがインターネットにアクセスできる場合は、次の依存関係を pom.xml に追加します:

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.5.0</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-edas</artifactId>
    <version>3.18.0</version>
</dependency>

方法 2: JAR パッケージの手動インポート

ビルドマシンがインターネットにアクセスできない場合は、接続されているマシンから JAR パッケージをダウンロードし、プロジェクトにコピーします:

  1. Alibaba Cloud SDK for Java (コア SDK) をダウンロードします。

  2. Alibaba Cloud EDAS SDK for Java (EDAS 固有の SDK) をダウンロードします。

  3. 両方の JAR ファイルをプロジェクトのクラスパスに追加します。

認証の設定

すべての API 呼び出しには、ご利用の Alibaba Cloud アカウントまたは RAM ユーザーに属する AccessKey ID と AccessKey Secret が必要です。これらおよびその他の共通パラメーターの詳細については、「API 呼び出しの共通パラメーター」をご参照ください。

ご利用のリージョン ID と認証情報で DefaultProfile を作成し、それを DefaultAcsClient に渡します:

// ご利用のリージョン ID、AccessKey ID、AccessKey Secret に置き換えてください
String regionId = "cn-hangzhou";
String accessKeyId = "<your-access-key-id>";
String accessKeySecret = "<your-access-key-secret>";

DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(profile);

次のプレースホルダーを実際の値に置き換えてください:

プレースホルダー説明
<your-access-key-id>ご利用の Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey IDLTAI5tXxx
<your-access-key-secret>ご利用の Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey SecretxXxXxXx
説明

ソースコードに認証情報をハードコーディングすることを避けるため、AccessKey ID と AccessKey Secret は環境変数に保存し、ランタイムに読み込むことを推奨します。

リクエストと応答のパターン

各 EDAS API オペレーションは、一対の Java クラスにマッピングされます:

クラス目的
<OperationName>RequestAPI リクエストを構築します。このオブジェクトに必須パラメーターを設定します。
<OperationName>ResponseAPI から返された結果を保持します。

リクエストオブジェクトを指定して DefaultAcsClient.getAcsResponse() を呼び出し、API オペレーションを実行して、対応する応答オブジェクトを受け取ります。

例えば、ListApplication オペレーションは ListApplicationRequestListApplicationResponse を使用します。ListDeployGroup オペレーションは ListDeployGroupRequestListDeployGroupResponse を使用します。

例: アプリケーションとデプロイグループのリスト表示

次の例では、EDAS で認証し、リージョン内のすべてのアプリケーションを取得し、各アプリケーションのデプロイグループを出力します。

import java.util.List;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.edas.model.v20170801.ListApplicationRequest;
import com.aliyuncs.edas.model.v20170801.ListApplicationResponse;
import com.aliyuncs.edas.model.v20170801.ListDeployGroupRequest;
import com.aliyuncs.edas.model.v20170801.ListDeployGroupResponse;


public class ListApplicationsSimpleInfo {

    public static void main(String args[]) {

        // ステップ 1: 認証情報を設定し、API クライアントを作成
        String accessKeyId = "<your-access-key-id>";       // ご利用の Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID
        String accessKeySecret = "<your-access-key-secret>"; // ご利用の Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret
        String regionId = "cn-hangzhou";                     // アプリケーションがデプロイされているリージョン

        DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
        DefaultAcsClient client = new DefaultAcsClient(profile);

        // ステップ 2: ListApplication リクエストを構築して送信
        ListApplicationRequest appListRequest = new ListApplicationRequest();
        try {
            ListApplicationResponse appListResponse = client.getAcsResponse(appListRequest);

            // ステップ 3: 応答を確認し、アプリケーションを反復処理
            if (appListResponse.getCode() == 200) {
                List<ListApplicationResponse.Application> apps = appListResponse.getApplicationList();
                if (apps != null && apps.size() > 0) {
                    for (ListApplicationResponse.Application app : apps) {
                        String appName = app.getName();
                        String appId = app.getAppId();
                        System.out.println("アプリケーション名: " + appName + ", アプリケーション ID: " + appId);

                        // ステップ 4: 各アプリケーションについて、そのデプロイグループを取得
                        ListDeployGroupRequest dgRequest = new ListDeployGroupRequest();
                        dgRequest.setAppId(appId);
                        ListDeployGroupResponse dgResponse = client.getAcsResponse(dgRequest);

                        if (dgResponse.getCode() == 200) {
                            List<ListDeployGroupResponse.DeployGroup> groups = dgResponse.getDeployGroupList();
                            for (ListDeployGroupResponse.DeployGroup group : groups) {
                                String groupName = group.getGroupName();
                                if ("_DEFAULT_GROUP".equals(groupName)) {
                                    groupName = "デフォルトグループ";
                                }
                                String groupId = group.getGroupId();
                                System.out.println("\tグループ名: " + groupName + ", グループ ID: " + groupId);
                            }
                        }
                    }
                } else {
                    System.out.println("アプリケーションが見つかりません。" + regionId + " リージョンにアプリケーションが存在することを確認してください。");
                }
            } else {
                // エラー詳細を出力
                System.out.println("API 呼び出しが失敗しました。\nメッセージ: " + appListResponse.getMessage()
                        + "\nRequestId: " + appListResponse.getRequestId());
            }
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

エンドポイントの自動検出

aliyun-java-sdk-core がバージョン 4.4.3 以降、かつ aliyun-java-sdk-edas がバージョン 2.52.1 以降の場合、SDK はリージョン ID に基づいて正しい API エンドポイントを自動的に解決します。手動でのエンドポイント設定は不要です。