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 = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = CreateServicesRequest()
request.zoneCode = "cn-zhongwei-ac"
request.aliasName = "kcs-pzunmwjq"
request.billingType = BillingTypeEnum.PostPaid.name
request.imageUuid = "ackci-00x2qxvx"
request.serviceModel = "rtx3090.epyc7402.xlarge"
request.count = 1
# 返回的response是一个InquiryPriceCreateServicesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.InquiryPriceCreateServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为InquiryPriceResponse
if code != 200:
print(message)
return
# InquiryPriceResponse类有如下重要属性
inquriyPriceResp = response.data
if inquriyPriceResp is not None:
print(inquriyPriceResp.originPrice,inquriyPriceResp.cashBalance)
items = inquriyPriceResp.items
if items is not None:
for item in items:
print(item.originPrice)
1.2. 创建容器实例
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = CreateServicesRequest()
request.zoneCode = "cn-zhongwei-ac"
request.aliasName = "kcs-pzunmwjq"
request.billingType = BillingTypeEnum.PostPaid.name
request.imageUuid = "ackci-00x2qxvx"
request.serviceModel = "rtx3090.epyc7402.xlarge"
request.count = 1
# 返回的response是一个CreateServicesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.CreateServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[Job]
if code != 200:
print(message)
return
# Job类有如下重要属性
jobs = response.data
if jobs is not None:
for job in jobs:
print(job.__dict__)
1.3. 关闭容器实例
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = StopServicesRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
request.saveEnv = True
request.stoppedMode = StoppedModeEnum.KEEP_CHARGING.name
# 返回的response是一个StopServicesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.StopServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[Job]
if code != 200:
print(message)
return
# Job类有如下重要属性
jobs = response.data
if jobs is not None:
for job in jobs:
print(job.__dict__)
1.4. 开启容器实例
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = StartServicesRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
# 返回的response是一个StartServicesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.StartServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[Job]
if code != 200:
print(message)
return
# Job类有如下重要属性
jobs = response.data
if jobs is not None:
for job in jobs:
print(job.__dict__)
1.5. 重启容器实例
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = RebootServicesRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
# 返回的response是一个RebootServicesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.RebootServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[Job]
if code != 200:
print(message)
return
# Job类有如下重要属性
jobs = response.data
if jobs is not None:
for job in jobs:
print(job.__dict__)
1.6. 删除容器实例
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DeleteServicesRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
# 返回的response是一个DeleteServicesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DeleteServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[Job]
if code != 200:
print(message)
return
# Job类有如下重要属性
jobs = response.data
if jobs is not None:
for job in jobs:
print(job.__dict__)
1.7. 更配容器实例
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = ChangeServicesModelRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
request.serviceModel = "rtx3090.epyc7402.2xlarge"
# 返回的response是一个ChangeServicesModelResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.ChangeServicesModel(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[Job]
if code != 200:
print(message)
return
# Job类有如下重要属性
jobs = response.data
if jobs is not None:
for job in jobs:
print(job.__dict__)
1.8. 查询容器实例列表
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeServicesRequest()
request.zoneCode = "cn-zhongwei-ac"
request.pageNum = 1
request.pageSize = 100
request.serviceUuid = "ackcs-00x2qycs"
# 返回的response是一个DescribeServicesRespons实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为list[Job]
if code != 200:
print(message)
return
# Job类有如下重要属性
ackcsPage = response.data
if ackcsPage is not None:
print(ackcsPage.total, ackcsPage.pageNum, ackcsPage.pageSize)
rows = ackcsPage.rows
if rows is not None:
for row in rows:
print(row.__dict__)
1.9. 查询容器实例 Jupyter 信息
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeServicesJupyterRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
# 返回的response是一个DescribeServicesJupyterResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeServicesJupyter(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为ACKCSJupyters
if code != 200:
print(message)
return
# ACKCSJupyters类有如下重要属性
jupyters = response.data
if jupyters is not None:
rows = jupyters.jupyters
if rows is not None:
for row in rows:
print(row)
1.10. 查询容器实例 SSH 信息
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeServicesJupyterRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
# 返回的response是一个DescribeServicesSSHResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeServicesSSH(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为ACKCSSSHs
if code != 200:
print(message)
return
# ACKCSSSHs类有如下重要属性
sshes = response.data
if sshes is not None:
rows = sshes.sshes
if rows is not None:
for row in rows:
print(row)
1.11. 查询容器实例 TensorBoard 信息
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = DescribeServicesTensorBoardRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
# 返回的response是一个DescribeServiceTensorBoardResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.DescribeServicesTensorBoard(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为ACKCSTensorBoards
if code != 200:
print(message)
return
# ACKCSTensorBoards类有如下重要属性
tensorboardResp = response.data
if tensorboardResp is not None:
rows = tensorboardResp.tensorboards
if rows is not None:
for row in rows:
print(row)
1.12. 修改容器实例计费类型
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = ChangeServicesBillingTypeRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
request.billingType = BillingTypeEnum.PrePaid.name
request.period = 1
# 返回的response是一个ChangeServicesBillingTypeResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.ChangeServicesBillingType(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
# data属性为实际返回的容器实例类型信息列表。数据类型为str
if code != 200:
print(message)
return
print(message)
1.13. 续费容器实例
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = ChangeServicesBillingTypeRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
request.period = 1
# 返回的response是一个RenewServicesResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.RenewServices(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
if code != 200:
print(message)
return
print(message)
1.14. 修改容器实例到期策略
# 实例化一个认证对象,入参需要传入智算云平台账户AccessKey和SecretAccessKey,此处还需注意密钥对的保密
# 密钥可前往智算云平台->个人中心->我的密钥进行获取
AccessKey: str = "abcd"
SecretAccessKey: str = "abcd1234"
clientProfile = ClientProfile(
AccessKey,
SecretAccessKey
)
# 实例化一个请求产品的client对象
client = ACKCSClient(clientProfile=clientProfile)
# 实例化一个请求对象,每个接口都会对应一个request对象
request = ChangeServicesExpireStrategyRequest()
request.zoneCode = "cn-zhongwei-ac"
request.serviceUuids = ["ackcs-00x2qycs"]
# 支持的类型包括AutoDelete和AutoCharge两种
request.expireStrategy = ExpireStrategyEnum.AutoDelete.name
# 返回的response是一个ChangeServicesExpireStrategyResponse实例
# 该实例有三个重要属性,分别是code、message和data
response = client.ChangeServicesExpireStrategy(request)
# code属性表示本次请求返回的编码。该编码200表示正常,非200表示异常
code = response.code
# message属性表示本次请求返回的信息。如果code值为非200,则可通过message获得请求异常原因
message = response.message
if code != 200:
print(message)
return
print(message)