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 = ACKProductClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeACKServiceTypesRequest()
# 返回的response是一个DescribeACKServiceTypesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeACKServiceTypes(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[ACKServiceTypes]
if code != 200:
print(message)
return
serviceTypes = response.data
# Job类有如下重要属性
if serviceTypes is not None:
for serviceType in serviceTypes:
if serviceType is not None:
print(serviceType.vhostModel)
1.2. 查询共享存储类型列表
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKProductClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeACKVolumeTypesRequest()
# 返回的response是一个DescribeACKVolumeTypesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeACKVolumeTypes(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器存储类型信息列表。数据类型为list[ACKVolumeTypes]
if code != 200:
print(message)
return
volumeTypes = response.data
# Job类有如下重要属性
if volumeTypes is not None:
for volumeType in volumeTypes:
if volumeType is not None:
print(volumeType.volumeType,volumeType.volumeSize)
1.3. 查询公共镜像列表
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKProductClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeACKPublicImagesRequest()
# 返回的response是一个DescribeACKPublicImagesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeACKPublicImages(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器公共镜像信息列表。数据类型为list[ACKCI]
if code != 200:
print(message)
return
images = response.data
# Job类有如下重要属性
if images is not None:
for image in images:
if image is not None:
print(image.platformName)
1.4. 查询实例规格售罄
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKProductClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeACKAvailableResourcesRequest()
item = ACKAvailableResourceInput(zoneCode="cn-zhongwei-ac", serviceModel="rtx3090.epyc7402.xlarge")
request.serviceModels = [item]
# 返回的response是一个DescribeACKAvailableResourceResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeACKAvailableResources(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型可用资源信息列表。数据类型为ACKAvailableResourceOutput
if code != 200:
print(message)
return
ackAvailableResourceOutput = response.data
if ackAvailableResourceOutput is not None:
for availableResource in ackAvailableResourceOutput:
if availableResource is not None:
print(availableResource.serviceModel, availableResource.soldOut)