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 = 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)