全部產品
Search
文件中心

Enterprise Distributed Application Service:Java SDK接入指南

更新時間:Jun 30, 2024

您可以使用EDAS提供的Java SDK進行API調用。

前提條件

安裝Java SDK必須用1.6或更高版本的JDK

擷取Java SDK

您可以通過以下兩種方式擷取Java SDK:
  • 通過Maven直接擷取(連網環境下推薦)

    開啟Maven專案下的pom.xml檔案,添加aliyun-java-sdk-core和aliyun-java-sdk-edas依賴。

    <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>
  • 離線匯入安裝 (無互連網串連的環境)

    首先需要找到一個連網的環境將Java SDK相關的Alibaba Cloud SDK for JavaAlibaba Cloud EDAS SDK for Java的JAR包檔案下載下來,然後拷貝到無互連網串連的環境,並添加到專案工程中。

使用Java SDK調用API

實際使用時,請替換以下樣本中的aliyun_user_akaliyun_user_sk region_id為您實際的公用參數值,相關公用參數請參見API調用公用參數

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[]){
        String aliyun_user_ak = "yourAccessKeyId";//阿里帳號或RAM使用者的AccessKey ID。
        String aliyun_user_sk = "yourAccessKeySecret";//阿里雲帳號或RAM使用者的AccessKey Secret。
        String region_id = "cn-hangzhou";//應用所在地區ID。

        DefaultProfile defaultProfile = DefaultProfile.getProfile(region_id, aliyun_user_ak, aliyun_user_sk);
        DefaultAcsClient defaultAcsClient = new DefaultAcsClient(defaultProfile);

        ListApplicationRequest applist_req = new ListApplicationRequest();
        try {
            ListApplicationResponse applist_resp = defaultAcsClient.getAcsResponse(applist_req);
            if(applist_resp.getCode() == 200){
                List<ListApplicationResponse.Application> applist = applist_resp.getApplicationList();
                if(applist != null && applist.size() > 0){
                    for(ListApplicationResponse.Application app : applist){
                        String app_name = app.getName();
                        String app_id = app.getAppId();
                        System.out.println("應用程式名稱 : " + app_name + ", 應用ID : " + app_id);
                        ListDeployGroupRequest dglist_req = new ListDeployGroupRequest();
                        dglist_req.setAppId(app_id);
                        ListDeployGroupResponse dglist_resp = defaultAcsClient.getAcsResponse(dglist_req);
                        if(dglist_resp.getCode() == 200){
                            List<ListDeployGroupResponse.DeployGroup> dglist = dglist_resp.getDeployGroupList();
                            for(ListDeployGroupResponse.DeployGroup dg : dglist){
                                String dg_name = dg.getGroupName();
                                if("_DEFAULT_GROUP".equals(dg_name)){
                                    dg_name = "預設分組";
                                }
                                String dg_id = dg.getGroupId();
                                System.out.println("\t分組名 : " + dg_name + ", 分組Id : " + dg_id);
                            }
                        }
                    }
                } else {
                    System.out.println("擷取到的應用列表為空白,請檢查上面設定的region_id中是否存在應用。");
                }
            } else {
                // 列印錯誤原因
                System.out.println("API調用返回異常!\nMessage: " + applist_resp.getMessage() + "\nRequestId: " + applist_resp.getRequestId());
            }
        } catch (ClientException e) {
            e.printStackTrace();
        }

    }
}
            
說明
  • EDAS Java SDK的API介面都是以<介面名>Request<介面名>Response成對出現的,例如:ListApplicationRequest和ListApplicationResponse,ListDeployGroupRequest和ListDeployGroupResponse 。<介面名>Request 用於構造介面的請求,為該介面添加相關參數,然後用 ACS Client 擷取一個 <介面名>Response 對象來承接該介面的返回結果。
  • 當aliyun-java-sdk-core為4.4.3及其以上版本,並且aliyun-java-sdk-edas為2.52.1及其以上版本時,EDAS Java SDK可根據region_id自動找到Endpoint domain。