华为 iotda(物联网平台)如何使用python sdk 实现应用侧api连接【我的iot端边云体验】-yb体育官方
准备工作
本篇博客我们将通过 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) 接口查阅。
【我的 iot 端边云体验】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/378687
此外,在(https://bbs.huaweicloud.com/activity/suggestion.html)提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。
- 点赞
- 收藏
- 关注作者
评论(0)