华为 IoTDA(物联网平台)如何使用Python SDK 实现应用侧API连接【我的IoT端边云体验】
准备工作
本篇博客我们将通过 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 位置。
在 我的凭证 > 访问密钥 页面上创建和查看 AK/SK 值,如果无密钥值,需要新增,步骤如下图所示。
注意:下载文件保存该值,关闭页面无法再次查看 AK/SK 值。
第二步:查看设备列表
下面实现 查询设备列表的对接,先看一下示例代码,这里并未直接复制官方代码,原因是我们学习阶段使用的是基础版,需参照注释修改 Region 对象的注册形式。
包括模块导入的完整代码如下所示,前文涉及的四个步骤已经添加到注释中。
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 下面的产品列表。核心修改 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)
运行代码拿到产品清单。
华为云最新版 API Explorer,可以查看到设备接入 (IoTDA) 接口查阅。
https://console.huaweicloud.com/apiexplorer/#/apidoc/IoTDA
【我的 IoT 端边云体验】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/378687
此外,在(https://bbs.huaweicloud.com/activity/suggestion.html)提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。
- 点赞
- 收藏
- 关注作者
评论(0)