更新时间:2024-10-22 GMT+08:00

Python SDK使用指南

物联网平台提供Python语言的应用侧SDK供开发者使用。本文介绍Python SDK的安装和配置,及使用Python SDK调用应用侧API的示例。

SDK获取和安装

  1. 安装Python开发环境。

    访问Python官网,下载并按说明安装Python开发环境。

    华为云 Python SDK 支持 Python3 及以上版本。

  2. 安装pip工具

    访问pip官网,下载并按说明安装pip工具。

  3. 安装Python SDK

    执行如下命令安装华为云Python SDK核心库以及相关服务库

    # 安装核心库
    pip install huaweicloudsdkcore
    
    # 安装IoTDA服务库
    pip install huaweicloudsdkiotda

代码示例

以调用查询设备列表接口为例,以下代码示例向您展示使用Python SDK的主要步骤:

  1. 创建认证。
  2. 创建IoTDAClient实例并初始化。
  3. 实例化请求对象。
  4. 调用查询设备列表接口。

    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkcore.region.region import Region
    from huaweicloudsdkiotda.v5 import *
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcore.auth.credentials import DerivedCredentials
    
    if __name__ == "__main__":
        # 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
        #本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
        ak = os.environ["HUAWEICLOUD_SDK_AK"]
        sk = os.environ["HUAWEICLOUD_SDK_SK"]
        project_id = "<YOUR PROJECTID>"
        # region_id:如果是上海一,请填写"cn-east-3";如果是北京四,请填写"cn-north-4";如果是华南广州,请填写"cn-south-1"
        region_id = "<YOUR REGION ID>"
        # endpoint:请在控制台的"总览"界面的"平台接入地址"中查看"应用侧"的https接入地址
        endpoint = "<YOUR ENDPOINT>"
    
        # 标准版/企业版:需自行创建Region对象
        REGION = Region(region_id, endpoint)
    
        # 创建认证
        # 创建BasicCredentials实例并初始化
         credentials = BasicCredentials(ak, sk, project_id)
        
        # 标准版/企业版需要使用衍生算法,基础版请删除配置"with_derived_predicate"
         credentials.with_derived_predicate(DerivedCredentials.get_default_derived_predicate())
        
        # 基础版:请选择IoTDAClient中的Region对象 如: .with_region(IoTDARegion.CN_NORTH_4)
        # 标准版/企业版:需要使用自行创建的Region对象
        # 配置是否忽略SSL证书校验, 默认不忽略: .with_http_config(HttpConfig(ignore_ssl_verification=True)
          client = IoTDAClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(REGION) \
            .build()
    
        try:
            # 实例化请求对象
            request = ListDevicesRequest()
            # 调用查询设备列表接口
            response = client.list_devices(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)

    参数

    说明

    ak

    您的华为云账号访问密钥ID(Access Key ID)。请在华为云控制台我的凭证 > 访问密钥页面上创建和查看您的 AK/SK。更多信息请查看访问密钥

    sk

    您的华为云账号秘密访问密钥(Secret Access Key)。

    project_id

    项目ID。获取方法请参见 获取项目ID

    IoTDARegion.CN_NORTH_4

    请替换为您要访问的物联网平台的区域,当前物联网平台可以访问的区域,在SDK代码iotda_region.py中已经定义。

    您可以在控制台上查看当前服务所在区域名称,区域名称、区域和终端节点的对应关系,具体步骤请参考地区和终端节点

    region_id

    如果是上海一,请填写"cn-east-3";如果是北京四,请填写"cn-north-4";如果是华南广州,请填写"cn-south-4"

    endpoint

    请在控制台的"总览"界面的"平台接入地址"中查看“应用侧”的https接入地址。

更多

项目源码及更多详细的使用指导请参考华为云开发者 Python 软件开发工具包(Python SDK)