API文档
云服务器相关接口
云盘相关接口
JavaSDK使用说明

1. 通过 JavaSDK 操作云盘资源

本文档说明如何通过 JavaSDK 操作您的云盘资源。

本文档中涉及到的 AccessKey 和 SecretAccessKey 只用作演示用,不作为您真实操作自己资源的依据。

本文档中涉及到的链接信息实际应为https://ai.blsc.cn (opens in a new tab)

本页所有接口都用到可用区信息,可用区具体说明详见 可用区, 本页不再重复说明

本页所有接口都用到资源规格信息,资源规格具体说明详见 资源规格, 本页不再重复说明

本页所有接口返回信息都包含异步任务信息,异步任务具体说明详见 异步任务, 本页不再重复说明

1.1. 创建云盘询价

        // 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        // 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        String AccessKey = "abcd";
        String SecretAccessKey = "abcd1234";
 
        ClientProfile clientProfile = new ClientProfile(AccessKey,SecretAccessKey);
 
        // 实例化一个请求产品的client对象
        EBSClient client = new EBSClient(clientProfile);
        // 实例化一个请求对象,每个接口都会对应一个request对象
        CreateDisksRequest createDisksRequest = new CreateDisksRequest();
        // 云盘所属可用区
        createDisksRequest.setZoneCode("cn-zhongwei-a");
        // 目标计费类型
        createDisksRequest.setBillingType(BillingTypeEnum.PostPaid);
        // 云盘类型。参考DiskType.diskType值
        createDisksRequest.setDiskType("HDD");
        // 云盘大小,单位GB
        createDisksRequest.setDiskSize(30);
        // 返回的response是一个AICloudResponse实例
        // 该实例有三个重要属性,分别是code、message和data
        AICloudResponse<InquiryPriceResponse> inquirePriceResponse = client.InquirePriceCreateDisks(createDisksRequest);
 
        // code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        int code = inquirePriceResponse.getCode();
        // message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        String message = inquirePriceResponse.getMessage();
        InquiryPriceResponse data = inquirePriceResponse.getData();
        // data属性为实际返回的询价信息列表。数据类型为InquiryPriceResponse实例
        // InquiryPriceResponse类主要属性包括
        // originPrice询价总额。如果items中包含多个值,则是多个值的originPrice总和
        // items询价明细列表,items数据类型是List[InquiryPriceItem]
        // InquiryPriceItem类主要属性包括
        // size 云盘大小
        // originPrice单个云盘询价结果

1.2. 创建云盘

        // 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        // 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        String AccessKey = "abcd";
        String SecretAccessKey = "abcd1234";
 
        ClientProfile clientProfile = new ClientProfile(AccessKey,SecretAccessKey);
 
        // 实例化一个请求产品的client对象
        EBSClient client = new EBSClient(clientProfile);
        // 实例化一个请求对象,每个接口都会对应一个request对象
        CreateDisksRequest createDisksRequest = new CreateDisksRequest();
        // 设置待创建云盘所属可用区信息
        createDisksRequest.setZoneCode("cn-zhongwei-a");
        // 设置待创建云盘名称
        createDisksRequest.setAliasName("ebs-hyxonpiy");
        // 设置待创建云盘计费类型
        createDisksRequest.setBillingType(BillingTypeEnum.PostPaid);
        // 设置待创建云盘类型
        createDisksRequest.setDiskType("HDD");
        // 设置待创建云盘大小
        createDisksRequest.setDiskSize(30);
 
        // 返回的response是一个CreateDisksResponse实例
        // 该实例有三个重要属性,分别是code、message和data
        AICloudResponse<List<Job>> createDisksResponse = client.CreateDisks(createDisksRequest);
 
        // code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        int code = createDisksResponse.getCode();
        // message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        String message = createDisksResponse.getMessage();
        // data属性为实际返回的异步任务信息列表。数据类型为List[Job]
        List<Job> jobs = createDisksResponse.getData();
        // 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
        // 通过jobUuid可以查询异步任务接口获取当前操作的状态

1.3. 挂载云盘

        // 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        // 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        String AccessKey = "abcd";
        String SecretAccessKey = "abcd1234";
        ClientProfile clientProfile = new ClientProfile(AccessKey,SecretAccessKey);
 
        // 实例化一个请求产品的client对象
        EBSClient client = new EBSClient(clientProfile);
 
        // 实例化一个请求对象,每个接口都会对应一个request对象
	    AttachDisksRequest attachDisksRequest = new AttachDisksRequest();
        // 设置云盘所属可用区编码
        attachDisksRequest.setZoneCode("cn-zhongwei-a");
        // 设置云盘Uuid信息
        attachDisksRequest.setEcsUuid("eb4fc7cd-20ca-45be-ae7e-2eaba7bb0526");
        // 设置目标挂载的云服务器实例信息
        attachDisksRequest.setEbsUuids(Collections.singletonList("0b10b042-aebe-4532-bb45-f50f64d88950"));
        // 返回的response是一个AttachDisksResponse实例
        // 该实例有三个重要属性,分别是code、message和data
        AICloudResponse<List<Job>> attachDisksResponse = client.AttachDisks(attachDisksRequest);
 
        // code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        int code = attachDisksResponse.getCode();
        // message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        String message = attachDisksResponse.getMessage();
        // data属性为实际返回的异步任务信息列表。数据类型为List[Job]
        List<Job> jobs = attachDisksResponse.getData();
        // 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
        // 通过jobUuid可以查询异步任务接口获取当前操作的状态
 

1.4. 卸载云盘

        // 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        // 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        String AccessKey = "abcd";
        String SecretAccessKey = "abcd1234";
        ClientProfile clientProfile = new ClientProfile(AccessKey,SecretAccessKey);
 
        // 实例化一个请求产品的client对象
        EBSClient client = new EBSClient(clientProfile);
        // 实例化一个请求对象,每个接口都会对应一个request对象
        DetachDisksRequest detachDisksRequest = new DetachDisksRequest();
        // 设置云盘所属可用区信息
        detachDisksRequest.setZoneCode("cn-zhongwei-a");
        // 设置从哪台云服务器实例上卸载云盘
        detachDisksRequest.setEcsUuid("eb4fc7cd-20ca-45be-ae7e-2eaba7bb0526");
        // 设置从哪台云服务器实例上卸载云盘
        detachDisksRequest.setEbsUuids(Collections.singletonList("0b10b042-aebe-4532-bb45-f50f64d88950"));
        // 返回的response是一个DetachDisksResponse实例
        // 该实例有三个重要属性,分别是code、message和data
        AICloudResponse<List<Job>> detachDisksResponse = client.DetachDisks(detachDisksRequest);
 
        // code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        int code = detachDisksResponse.getCode();
        // message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        String message = detachDisksResponse.getMessage();
        // data属性为实际返回的异步任务信息列表。数据类型为List[Job]
        List<Job> jobs = detachDisksResponse.getData();
        // 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
        // 通过jobUuid可以查询异步任务接口获取当前操作的状态

1.5. 续费云盘

        // 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        // 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        String AccessKey = "abcd";
        String SecretAccessKey = "abcd1234";
        ClientProfile clientProfile = new ClientProfile(AccessKey,SecretAccessKey);
 
        // 实例化一个请求产品的client对象
        EBSClient client = new EBSClient(clientProfile);
        // 实例化一个请求对象,每个接口都会对应一个request对象
        RenewDisksRequest renewDisksRequest = new RenewDisksRequest();
        // 待续费云盘所属可用区
        renewDisksRequest.setZoneCode("cn-zhongwei-a");
        // 待续费云盘Uuid信息
        renewDisksRequest.setEbsUuids(Collections.singletonList("9413785f-05c1-4553-a45e-2ec267044864"));
        // 续费月数
        renewDisksRequest.setPeriod(1);
        // 返回的response是一个AICloudResponse实例
        AICloudResponse<String> renewDisksResponse = client.RenewDisks(renewDisksRequest);
        
        // code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        int code = renewDisksResponse.getCode();
        // message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        String message = renewDisksResponse.getMessage();

1.6. 删除云盘

        // 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        // 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        String AccessKey = "abcd";
        String SecretAccessKey = "abcd1234";
        ClientProfile clientProfile = new ClientProfile(AccessKey,SecretAccessKey);
 
        // 实例化一个请求产品的client对象
        EBSClient client = new EBSClient(clientProfile);
        // 实例化一个请求对象,每个接口都会对应一个request对象
        DeleteDisksRequest deleteDisksRequest = new DeleteDisksRequest();
        // 待删除云盘所在可用区
        deleteDisksRequest.setZoneCode("cn-zhongwei-a");
        // 待删除云盘的Uuid信息
        deleteDisksRequest.setEbsUuids(Collections.singletonList("6b7c021e-36ed-418f-95da-096b6c93ddfe"));
        // 返回的response是一个DeleteDisksResponse实例
        // 该实例有三个重要属性,分别是code、message和data
        AICloudResponse<List<Job>> deleteDisksResponse = client.DeleteDisks(deleteDisksRequest);
 
        // code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        int code = deleteDisksResponse.getCode();
        // message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        String message = deleteDisksResponse.getMessage();
        // data属性为实际返回的异步任务信息列表。数据类型为List[Job]
        List<Job> jobs = deleteDisksResponse.getData();
        // 您可以通过jobs.get(0).getJobUuid()的方式获得异步任务id
        // 通过jobUuid可以查询异步任务接口获取当前操作的状态

1.7. 查询云盘列表

云盘查询接口返回EBS信息,具体说明详见 EBS, 本页不再重复说明

        // 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        // 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        String AccessKey = "abcd";
        String SecretAccessKey = "abcd1234";
        ClientProfile clientProfile = new ClientProfile(AccessKey,SecretAccessKey);
 
        // 实例化一个请求产品的client对象
        EBSClient client = new EBSClient(clientProfile);
        // 实例化一个请求对象,每个接口都会对应一个request对象 
        DescribeDisksRequest describeDisksRequest = new DescribeDisksRequest();
        // 待查询列表使用云服务器id过滤。该参数可选
        describeDisksRequest.setEcsUuid("de5995e8-180d-4445-842f-1e3ab0d15d3a");
        // 待查询列表使用云盘id过滤。该参数可选
        describeDisksRequest.setEbsUuid("9d0a06b8-cd8a-4bd5-af8e-445b8b63b0e7");
        // 待查询列表使用云盘名称过滤。改参数可选
        describeDisksRequest.setAliasName("ecs-pnwtykfs-volumn-2")
        // 分页页号,该参数可选。默认1
        describeDisksRequest.setPageNum(1);
        // 分页页大小,该参数可选。默认200
        describeDisksRequest.setPageSize(200);
 
        // 返回的response是一个AICloudResponse实例
        // 该实例有三个重要属性,分别是code、message和data
        AICloudResponse<PageData<EBS>> describeDisksResponse = client.DescribeDisks(describeDisksRequest);
 
        // code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        int code = describeDisksResponse.getCode();
        // message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        String message = describeDisksResponse.getMessage();
        // data属性为实际返回的云盘信息列表。数据类型为PageData
        PageData<EBS> pageData = describeDisksResponse.getData();
        // PageEBSData类包含如下重要属性
        // pageNum当前页号
        Integer pageNum = pageData.getPageNum();
        // pageSize页大小
        Integer pageSize = pageData.getPageSize();
        // 总数据量
        Long total = pageData.getTotal();
        // rows表示返回的云盘信息列表,数据类型为List[EBS]
        List<EBS> rows = pageData.getRows();