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

1. 通过 PythonSDK 操作云盘资源

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

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

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

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

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

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

1.1. 创建云盘询价

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

1.2. 创建云盘

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

1.3. 挂载云盘

        # 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        # 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        AccessKey:str = "abcd"
        SecretAccessKey:str = "abcd1234"
        clientProfile = ClientProfile(
            AccessKey,
            SecretAccessKey
        )
        
        # 实例化一个请求产品的client对象
        client = EBSClient(clientProfile)
        # 实例化一个请求对象,每个接口都会对应一个request对象
        request = AttachDisksRequest()
        # 设置云盘所属可用区编码
        request.zoneCode = "cn-zhongwei-a"
        # 设置云盘Uuid信息
        request.ebsUuids = ["9d0a06b8-cd8a-4bd5-af8e-445b8b63b0e7"]
        # 设置目标挂载的云服务器实例信息
        request.ecsUuid = "de5995e8-180d-4445-842f-1e3ab0d15d3a"
        # 返回的response是一个AttachDisksResponse实例
        # 该实例有三个重要属性,分别是code、message和data
        response = client.AttachDisks(request)
        # code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        code = response.code
        # message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        message = response.message
        # data属性为实际返回的异步任务信息列表。数据类型为list[Job]
        jobs = response.data
        # 您可以通过jobs[0].jobUuid的方式获得异步任务id
        # 通过jobUuid可以查询异步任务接口获取当前操作的状态

1.4. 卸载云盘

        # 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        # 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        AccessKey:str = "abcd"
        SecretAccessKey:str = "abcd1234"
        clientProfile = ClientProfile(
            AccessKey,
            SecretAccessKey
        )
        
        # 实例化一个请求产品的client对象
        client = EBSClient(clientProfile)
        # 实例化一个请求对象,每个接口都会对应一个request对象
        request = DetachDisksRequest()
        # 设置云盘所属可用区信息
        request.zoneCode = "cn-zhongwei-a"
        # 设置云盘Uuid信息
        request.ebsUuids = ["9d0a06b8-cd8a-4bd5-af8e-445b8b63b0e7"]
        # 设置从哪台云服务器实例上卸载云盘
        request.ecsUuid = "de5995e8-180d-4445-842f-1e3ab0d15d3a"
        # 返回的response是一个DetachDisksResponse实例
        # 该实例有三个重要属性,分别是code、message和data
        response = client.DetachDisks(request)
        # code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        code = response.code
        # message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        message = response.message
        # data属性为实际返回的异步任务信息列表。数据类型为list[Job]
        jobs = response.data
        # 您可以通过jobs[0].jobUuid的方式获得异步任务id
        # 通过jobUuid可以查询异步任务接口获取当前操作的状态

1.5. 续费云盘

        # 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        # 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        AccessKey:str = "abcd"
        SecretAccessKey:str = "abcd1234"
        clientProfile = ClientProfile(
            AccessKey,
            SecretAccessKey
        )
        
        # 实例化一个请求产品的client对象
        client = EBSClient(clientProfile)
        # 实例化一个请求对象,每个接口都会对应一个request对象
        request = RenewDisksRequest()
        # 待续费云盘所属可用区
        request.zoneCode = "cn-zhongwei-a"
        # 待续费云盘Uuid信息
        request.ebsUuids = ["9d0a06b8-cd8a-4bd5-af8e-445b8b63b0e7"]
        # 续费月数
        request.period = 1
        # 返回的response是一个RenewDisksResponse实例
        # 该实例有两个重要属性,分别是code、message
        response = client.RenewDisks(request)
        # code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        code = response.code
        # message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        message = response.message

1.6. 删除云盘

        # 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
        # 秘钥可前往智算云平台->个人中心->我的秘钥进行获取
        AccessKey:str = "abcd"
        SecretAccessKey:str = "abcd1234"
        clientProfile = ClientProfile(
            AccessKey,
            SecretAccessKey
        )
        
        # 实例化一个请求产品的client对象
        client = EBSClient(clientProfile)
        # 实例化一个请求对象,每个接口都会对应一个request对象
        request = DeleteDisksRequest()
        # 待删除云盘所在可用区
        request.zoneCode="cn-zhongwei-a"
        # 待删除云盘的Uuid信息
        request.ebsUuids = ["ec675524-c183-4f90-acd7-c351eea1f15f"]
        # 返回的response是一个DeleteDisksResponse实例
        # 该实例有三个重要属性,分别是code、message和data
        response = client.DeleteDisks(request)
        # code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
        code = response.code
        # message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
        message = response.message
        # data属性为实际返回的异步任务信息列表。数据类型为list[Job]
        jobs = response.data
        # 您可以通过jobs[0].jobUuid的方式获得异步任务id
        # 通过jobUuid可以查询异步任务接口获取当前操作的状态

1.7. 查询云盘列表

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

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