本文介紹如何使用EDAS提供的Java SDK調用API創建、編輯和刪除自定義微服務空間。
前提條件
- 安裝EDAS的Java SDK。更多信息,請參見Java SDK接入指南。
確定微服務空間創建的地域,假設為cn-hangzhou。
創建或編輯微服務空間
以下代碼用于快速創建或編輯自定義微服務空間。
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.edas.model.v20170801.InsertOrUpdateRegionRequest;
import com.aliyuncs.edas.model.v20170801.InsertOrUpdateRegionResponse;
public class InsertOrUpdateRegion {
public static void main(String[] args) {
// 阿里云賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創建RAM用戶。
// 此處以把AccessKey和AccessKeySecret保存在環境變量為例說明。您可以根據業務需要,保存到配置文件里。
// 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風險。
String aliyun_user_ak = System.getenv("ACCESS_KEY_ID");
String aliyun_user_sk = System.getenv("ACCESS_KEY_SECRET");
//需要創建或編輯的微服務空間所在地域ID。
String region_id = "cn-hangzhou";
DefaultProfile defaultProfile = DefaultProfile.getProfile(region_id, aliyun_user_ak, aliyun_user_sk);
DefaultAcsClient client = new DefaultAcsClient(defaultProfile);
//創建API請求,并設置參數。
InsertOrUpdateRegionRequest request = new InsertOrUpdateRegionRequest();
//微服務空間ID,格式為“地域ID:微服務空間標識符”,例如:cn-hangzhou:doc。
request.setRegionTag("cn-hangzhou:doc");
//微服務空間名稱,例如:APIdoc。
request.setRegionName("APIdoc");
//微服務空間的描述信息。
request.setDescription("使用API創建的微服務空間");
//此參數為空或者為0表示創建微服務空間,其他取值表示編輯微服務空間。
request.setId((long) 0);
//是否允許遠程調試,true表示允許,false表示不允許。
request.setDebugEnable(true);
try {
InsertOrUpdateRegionResponse response = client.getAcsResponse(request);
System.out.println("RegionName=" + response.getUserDefineRegionEntity().getRegionName() + "\nRegionId=" + response.getUserDefineRegionEntity().getRegionId()+ "\nId=" + response.getUserDefineRegionEntity().getId());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
運行程序,返回的執行結果如下:
RegionName=APIdoc
RegionId=cn-hangzhou:doc
Id=17926
說明
此處執行結果中的Id=17926,是系統中定義微服務空間的唯一標識序號。如果您需要刪除微服務空間,則需要通過這個標識進行刪除。
微服務空間一旦創建,所自動生成的AccessKey(AK,SK)不支持編輯。
刪除微服務空間
刪除微服務空間需要滿足以下前提條件:
微服務空間下無任何集群。
微服務空間下無任何微服務應用。
微服務空間下無任何ECS實例。
如果您在創建或編輯微服務空間時,已記錄微服務空間的唯一標識序號(如Id=17926),則可以直接進行刪除操作。
如果您沒有記錄微服務空間的唯一標識,則需要調用ListUserDefineRegion接口,獲取微服務空間的唯一標識序號。
以下代碼用于快速刪除目標微服務空間。
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.edas.model.v20170801.DeleteUserDefineRegionRequest;
import com.aliyuncs.edas.model.v20170801.DeleteUserDefineRegionResponse;
public class DeleteUserDefineRegion {
public static void main(String[] args) {
// 阿里云賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維,請登錄RAM控制臺創建RAM用戶。
// 此處以把AccessKey和AccessKeySecret保存在環境變量為例說明。您可以根據業務需要,保存到配置文件里。
// 強烈建議不要把AccessKey和AccessKeySecret保存到代碼里,會存在密鑰泄漏風險。
String aliyun_user_ak = System.getenv("ACCESS_KEY_ID");
String aliyun_user_sk = System.getenv("ACCESS_KEY_SECRET");
//需要刪除的微服務空間所在地域ID。
String region_id = "cn-hangzhou";
DefaultProfile defaultProfile = DefaultProfile.getProfile(region_id, aliyun_user_ak, aliyun_user_sk);
DefaultAcsClient client = new DefaultAcsClient(defaultProfile);
//創建API請求,并設置參數。
DeleteUserDefineRegionRequest request = new DeleteUserDefineRegionRequest();
//待刪除的微服務空間的唯一標識序號。
request.setId((long) 17926);
try {
DeleteUserDefineRegionResponse response = client.getAcsResponse(request);
System.out.println("RegionName=" + response.getRegionDefine().getRegionName() + "\nRegionId=" + response.getRegionDefine().getRegionId()+ "\nMessage=" + response.getMessage());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
運行程序,返回的執行結果如下所示:
RegionName=APIdoc
RegionId=cn-hangzhou:doc
Message=success
結果驗證
您在進行創建、編輯或刪除微服務空間操作后,都可以調用ListUserDefineRegion接口查詢您的自定義微服務空間列表,根據返回結果中的RegionName、RegionId和Description等參數進行判斷您是否操作成功。
調用ListUserDefineRegion接口返回的結果如下:
{
"Message": "success",
"RequestId": "849E908D-E2DE-4798-937B-7210E00FFDD8",
"UserDefineRegionList": {
"UserDefineRegionEntity": [
{
"Description": "使用API創建的微服務空間",
"RegionName": "APIdoc2",
"UserId": "native_****",
"DebugEnable": true,
"Id": 17925,
"RegionId": "cn-hangzhou:doc2",
"BelongRegion": "cn-hangzhou"
}
]
},
"Code": 200
}
文檔內容是否對您有幫助?