Python SDK使用示例

更新时间:
复制 MD 格式

本文以 Python SDK V2.0 为例,演示如何调用云监控2.0(cms20240330)OpenAPI。其他接口的调用方法类似,仅需替换 Request/Response 类型与字段。

环境要求

Python 3.7 及以上。

安装方式

通过 pip 安装:

pip install alibabacloud_cms20240330==10.0.0

源码仓库:alibabacloud-python-sdk/cms-20240330

配置访问凭据

工程代码建议使用更安全的无 AK 方式,凭据配置方式请参见管理访问凭据。最简单的做法是在系统环境变量中配置:

export ALIBABA_CLOUD_ACCESS_KEY_ID="<your-access-key-id>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<your-access-key-secret>"

CredentialClient() 会按照默认凭据链顺序查找凭据。

完整代码示例

以下示例调用 GetCmsService 接口,查询云监控2.0服务对应产品的开通状态:

# -*- coding: utf-8 -*-
import os
import sys
import json
from typing import List

from alibabacloud_cms20240330.client import Client as Cms20240330Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_cms20240330 import models as cms_20240330_models
from alibabacloud_tea_util import models as util_models


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> Cms20240330Client:
        """
        使用凭据初始化账号 Client
        """
        # 工程代码建议使用更安全的无 AK 方式。
        credential = CredentialClient()
        config = open_api_models.Config(credential=credential)
        # Endpoint 请参考 https://api.aliyun.com/product/Cms
        config.endpoint = 'metrics.cn-hangzhou.aliyuncs.com'
        return Cms20240330Client(config)

    @staticmethod
    def main(args: List[str]) -> None:
        client = Sample.create_client()
        request = cms_20240330_models.GetCmsServiceRequest(
            product='your_value',
            service='your_value',
        )
        headers = {}
        try:
            resp = client.get_cms_service_with_options(request, headers, util_models.RuntimeOptions())
            print(json.dumps(resp, default=str, indent=2))
        except Exception as error:
            # 错误 message
            print(error.message)
            # 诊断地址
            print(error.data.get("Recommend"))


if __name__ == '__main__':
    Sample.main(sys.argv[1:])

步骤介绍

  1. 初始化配置对象 alibabacloud_tea_openapi.Config。Config 对象存放 credential、endpoint 等配置,Endpoint 如示例中的 metrics.cn-hangzhou.aliyuncs.com

    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_credentials.client import Client as CredentialClient
    
    credential = CredentialClient()
    config = open_api_models.Config(credential=credential)
    config.endpoint = 'metrics.cn-hangzhou.aliyuncs.com'
  2. 实例化客户端:

    from alibabacloud_cms20240330.client import Client as Cms20240330Client
    from alibabacloud_cms20240330 import models as cms_20240330_models
    
    client = Cms20240330Client(config)
  3. 创建对应 API 的 Request:

    request = cms_20240330_models.GetCmsServiceRequest()
  4. 设置请求参数:

    request.product = 'your_value'
    request.service = 'your_value'
  5. 调用接口:

    response = client.get_cms_service(request)
    print(response)
  6. 从 response 读取返回值,例如:

    request_id = response.body.request_id
    print(request_id)
  7. 使用 try...except... 处理报错:

    try:
        response = client.get_cms_service(request)
    except Exception as e:
        print(e)

更多接口与示例代码可在 OpenAPI 门户 SDK 示例 查看。