您可以使用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 Java和Alibaba Cloud EDAS SDK for Java的JAR包文件下載下來,然后拷貝到無互聯網連接的環境,并添加到項目工程中。
使用Java SDK調用API
實際使用時,請替換以下示例中的aliyun_user_ak、aliyun_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。