更新时间:2026-11-10 GMT+08:00

Python SDK调用示例

本文以调用Kafka的查询所有实例列表(ListInstances)接口为例,介绍华为云Python SDK的使用方法。

前提条件

  • 已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK),具体操作请参见新增访问密钥。
  • 运行SDK的环境已安装Python 3.6及以上版本。

安装SDK

在命令终端执行以下命令安装华为云Python SDK。以3.1.217版本的Python SDK为例,最新的SDK版本信息可通过SDK中心查看获取。

  • 安装单个云服务SDK包
    pip install huaweicloudsdkkafka==3.1.217
  • 安装云服务集合SDK包
    pip install huaweicloudsdkall==3.1.217

使用SDK

以下是一个完整的Python示例,演示如何使用华为云Python SDK调用查询所有实例列表(ListInstances)接口。

  • 如果需要获取其他接口的SDK示例,请参见获取SDK示例代码。
  • 本示例中仅提供了基本的接口参数配置说明,更多的进阶配置请参见SDK的用户手册。
  • 如果把认证用的AK/SK直接写到代码中会有较大的安全风险,建议在配置文件或环境变量中以密文存放AK/SK,使用时解密,确保安全。本示例中把AK和SK保存为环境变量CLOUD_SDK_AK和CLOUD_SDK_SK,具体操作请参见环境变量。
    # coding: utf-8
    import os
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkkafka.v2.region.kafka_region import KafkaRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkkafka.v2 import *
    if __name__ == "__main__":
        # ==================== 初始化客户端 ==================== 
        # 从环境变量获取AK/SK,运行前需要提前把AK/SK设置为环境变量
        ak = os.environ["CLOUD_SDK_AK"]
        sk = os.environ["CLOUD_SDK_SK"]
        projectId = "195e********4a708ad9f9********1d"
    
        # 配置认证凭证
        credentials = BasicCredentials(ak, sk, projectId)
    
        # 初始化客户端
        client = KafkaClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(KafkaRegion.value_of("ap-southeast-1")) \
            .build()
        try:
            # ==================== 构造请求对象 ==================== 
            # 使用SDK中提供的Request对象封装请求参数
            request = ListInstancesRequest()
            request.engine = "kafka"
    
            # ==================== 发起请求并处理响应 ==================== 
            # 通过客户端调用对应API发起请求,调用成功将返回Response对象,调用失败将抛出异常
            response = client.list_instances(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)