华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接【我的IoT端边云体验】

举报
梦想橡皮擦 发表于 2022/10/10 16:16:13 2022/10/10
【摘要】 准备工作本篇博客我们将通过 Python 语言实现物联网平台(华为 IoTDA)的连接,主要使用的模块是官方提供的 Python SDK,对接目标为应用侧 API 对接。华为 IoTDA 应用侧 API 是指,物联网平台把自身丰富的管理能力通过 API 的形式对外开放,包括产品管理、设备管理、设备组管理、标签管理、设备 CA 证书管理、设备影子、设备命令、设备消息、设备属性、订阅管理、规则...

准备工作

本篇博客我们将通过 Python 语言实现物联网平台(华为 IoTDA)的连接,主要使用的模块是官方提供的 Python SDK,对接目标为应用侧 API 对接。

华为 IoTDA 应用侧 API 是指,物联网平台把自身丰富的管理能力通过 API 的形式对外开放,包括产品管理、设备管理、设备组管理、标签管理、设备 CA 证书管理、设备影子、设备命令、设备消息、设备属性、订阅管理、规则管理、批量任务等,帮助用户快速构筑基于物联网平台的行业应用。

正式开始前先安装华为云核心库 + IoTDA 服务库,命令如下:

# 核心库
pip install huaweicloudsdkcore

# IoTDA服务库
pip install huaweicloudsdkiotda

官方手册中关于 Python SDK 的实践时从 查询设备列表 开始的,其流程如下:

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

接下来我们的实践也遵循该流程。

第一步:创建华为云账号访问密钥 ID(Access Key ID)

调用华为云的任何 API,都需要先注册访问密钥,地址在控制台右侧个人 ID 位置。

华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接

我的凭证 > 访问密钥 页面上创建和查看 AK/SK 值,如果无密钥值,需要新增,步骤如下图所示。

华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接

注意:下载文件保存该值,关闭页面无法再次查看 AK/SK 值。

第二步:查看设备列表

下面实现 查询设备列表的对接,先看一下示例代码,这里并未直接复制官方代码,原因是我们学习阶段使用的是基础版,需参照注释修改 Region 对象的注册形式。

华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接

包括模块导入的完整代码如下所示,前文涉及的四个步骤已经添加到注释中。

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.auth.credentials import DerivedCredentials
from huaweicloudsdkiotda.v5.region.iotda_region import IoTDARegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkiotda.v5 import *

if __name__ == "__main__":
    ak = "你的 AK"
    sk = "你的 SK"
	# 创建认证。
    credentials = BasicCredentials(ak, sk).with_derived_predicate(DerivedCredentials.get_default_derived_predicate())
	# 创建 IoTDAClient 实例并初始化。
    client = IoTDAClient.new_builder().with_credentials(credentials).with_region(
        IoTDARegion.value_of("cn-north-4")).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)

运行代码如出现下图内容,即打印出设备清单数据,表示接口已经打通,配置无问题。

华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接

第三步:查看产品列表

通过下述代码,可以查看华为 IoTDA 下面的产品列表。核心修改 try...except 部分代码。

    try:
        request = ListProductsRequest()
        response = client.list_products(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

运行代码拿到产品清单

华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接

华为云最新版 API Explorer,可以查看到设备接入 (IoTDA) 接口查阅。

https://console.huaweicloud.com/apiexplorer/#/apidoc/IoTDA

华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接

【我的 IoT 端边云体验】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/378687
此外,在(https://bbs.huaweicloud.com/activity/suggestion.html)提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。