1. 通过 JavaSDK 操作容器实例资源
本文档说明如何通过 JavaSDK 操作您的容器实例资源。
本文档中涉及到的 AccessKey 和 SecretAccessKey 只用作演示用,不作为您真实操作自己资源的依据。
本文档中涉及到的链接信息实际应为https://ai.blsc.cn (opens in a new tab)
本页所有接口都用到可用区信息,可用区具体说明详见 可用区, 本页不再重复说明
本页所有接口都用到资源规格信息,资源规格具体说明详见 资源规格, 本页不再重复说明
本页所有接口返回信息都包含异步任务信息,异步任务具体说明详见 异步任务, 本页不再重复说明
1.1. 创建容器实例询价
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
CreateServicesRequest createServicesRequest = new CreateServicesRequest();
createServicesRequest.setZoneCode("cn-zhongwei-ac");
createServicesRequest.setAliasName("kcs-pzunmwjo");
createServicesRequest.setBillingType(BillingTypeEnum.PostPaid);
createServicesRequest.setImageUuid("ackcs-00x2qyd3");
createServicesRequest.setServiceModel("rtx3090.epyc7402.xlarge");
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<InquiryPriceResponse> response = client.InquirePriceCreateServices(createServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
InquiryPriceResponse responseData = response.getData();
//询价结果
1.2. 创建容器实例
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
CreateServicesRequest createServicesRequest = new CreateServicesRequest();
createServicesRequest.setZoneCode("cn-zhongwei-ac");
createServicesRequest.setAliasName("kcs-pzunmwju");
createServicesRequest.setAutoContinue(false);
createServicesRequest.setBillingType(BillingTypeEnum.PrePaid);
createServicesRequest.setImageUuid("ackcs-00x2qyd3");
createServicesRequest.setPayPeriod(1);
createServicesRequest.setServiceModel("rtx3090.epyc7402.xlarge");
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<List<Job>> response = client.CreateServices(createServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
List<Job> responseData = response.getData();
// 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
// 通过jobUuid可以查询异步任务接口获取当前操作的状态
1.3. 关闭容器实例
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
StopServicesRequest stopServicesRequest = new StopServicesRequest();
stopServicesRequest.setZoneCode("cn-zhongwei-ac");
stopServicesRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
stopServicesRequest.setStoppedMode(StoppedModeEnum.KEEP_CHARGING);
stopServicesRequest.setSaveEnv(true);
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<List<Job>> response = client.StopServices(stopServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
List<Job> responseData = response.getData();
// 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
// 通过jobUuid可以查询异步任务接口获取当前操作的状态
1.4. 开启容器实例
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
StartServicesRequest startServicesRequest = new StartServicesRequest();
startServicesRequest.setZoneCode("cn-zhongwei-ac");
startServicesRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<List<Job>> response = client.StartServices(startServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
List<Job> responseData = response.getData();
// 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
// 通过jobUuid可以查询异步任务接口获取当前操作的状态
1.5. 重启容器实例
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
RebootServicesRequest rebootServicesRequest = new RebootServicesRequest();
rebootServicesRequest.setZoneCode("cn-zhongwei-ac");
rebootServicesRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qya1"));
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<List<Job>> response = client.RebootServices(rebootServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
List<Job> responseData = response.getData();
// 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
// 通过jobUuid可以查询异步任务接口获取当前操作的状态
1.6. 删除容器实例
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
DeleteServicesRequest deleteServicesRequest = new DeleteServicesRequest();
deleteServicesRequest.setZoneCode("cn-zhongwei-ac");
deleteServicesRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qy9x"));
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<List<Job>> response = client.DeleteServices(deleteServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
List<Job> responseData = response.getData();
// 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
// 通过jobUuid可以查询异步任务接口获取当前操作的状态
1.7. 更配容器实例
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
ChangeServicesModelRequest changeServicesModelRequest = new ChangeServicesModelRequest();
changeServicesModelRequest.setZoneCode("cn-zhongwei-ac");
changeServicesModelRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
changeServicesModelRequest.setServiceModel("rtx3090.epyc7402.2xlarge");
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<List<Job>> response = client.ChangeServicesModel(changeServicesModelRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
List<Job> responseData = response.getData();
// 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
// 通过jobUuid可以查询异步任务接口获取当前操作的状态
1.8. 查询容器实例列表
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
DescribeServicesRequest describeServicesRequest = new DescribeServicesRequest();
describeServicesRequest.setZoneCode("cn-zhongwei-ac");
describeServicesRequest.setPageNum(1);
describeServicesRequest.setPageSize(100);
describeServicesRequest.setServiceUuid("ackcs-00x2qyaf");
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<PageData<ACKCS>> response = client.DescribeServices(describeServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
PageData<ACKCS> responseData = response.getData();
//容器实例信息
1.9. 查询容器实例 Jupyter 信息
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
DescribeServicesJupyterRequest describeServicesJupyterRequest = new DescribeServicesJupyterRequest();
describeServicesJupyterRequest.setZoneCode("cn-zhongwei-ac");
describeServicesJupyterRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<ACKCSJupyters> response = client.DescribeServicesJupyter(describeServicesJupyterRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
ACKCSJupyters responseData = response.getData();
//Jupyter信息
1.10. 查询容器实例 SSH 信息
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
DescribeServicesSSHRequest describeServicesSSHRequest = new DescribeServicesSSHRequest();
describeServicesSSHRequest.setZoneCode("cn-zhongwei-ac");
describeServicesSSHRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<ACKCSSSHs> response = client.DescribeServicesSSH(describeServicesSSHRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
ACKCSSSHs responseData = response.getData();
//容器SSH信息
1.11. 查询容器实例 TensorBoard 信息
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
DescribeServicesTensorBoardRequest describeServicesTensorBoardRequest = new DescribeServicesTensorBoardRequest();
describeServicesTensorBoardRequest.setZoneCode("cn-zhongwei-ac");
describeServicesTensorBoardRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<ACKCSTensorBoards> response = client.DescribeServicesTensorBoard(describeServicesTensorBoardRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
if(code!=200){
System.out.println(message);
return;
}
ACKCSTensorBoards responseData = response.getData();
//TensorBoard信息
1.12. 修改容器实例计费类型
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
ChangeServicesBillingTypeRequest changeServicesBillingTypeRequest = new ChangeServicesBillingTypeRequest();
changeServicesBillingTypeRequest.setZoneCode("cn-zhongwei-ac");
changeServicesBillingTypeRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<String> response = client.ChangeServicesBillingType(changeServicesBillingTypeRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
1.13. 续费容器实例
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
RenewServicesRequest renewServicesRequest = new RenewServicesRequest();
renewServicesRequest.setZoneCode("cn-zhongwei-ac");
renewServicesRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qya1"));
renewServicesRequest.setPeriod(1);
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<String> response = client.RenewServices(renewServicesRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();
1.14. 修改容器实例到期策略
// 实例化一个认证对象,入参需要传入AI智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
// 秘钥可前往AI智算云平台->个人中心->我的秘钥进行获取
String AccessKey = "abcd";
String SecretAccessKey = "abcd1234";
ClientProfile clientProfile = new ClientProfile(AccessKey, SecretAccessKey);
// 实例化一个请求产品的client对象
ACKCSClient client = new ACKCSClient(clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
ChangeServicesExpireStrategyRequest changeServicesExpireStrategyRequest = new ChangeServicesExpireStrategyRequest();
changeServicesExpireStrategyRequest.setZoneCode("cn-zhongwei-ac");
changeServicesExpireStrategyRequest.setServiceUuids(Collections.singletonList("ackcs-00x2qyaf"));
changeServicesExpireStrategyRequest.setExpireStrategy(ExpireStrategyEnum.AutoCharge);
// 返回的response是一个AICloudResponse实例
// 该实例有三个重要属性,分别是code、message和data
AICloudResponse<String> response = client.ChangeServicesExpireStrategy(changeServicesExpireStrategyRequest);
// code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
int code = response.getCode();
// message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
String message = response.getMessage();