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