阿里云API芝士堂[物模型管理][模型]

简介: 将近一年没有关注阿里云物联网的api,最近看了下官网的文档,api列表中赫然多出了物模型的管理和使用两大类.这也难怪,物模型被誉为物联网世界的原子.通过物模型可以有效的使用属性,服务和事件就可以表示出纷繁复杂和多姿多彩的物联网世界中的各种类型的设备;目前物模型并没有统一的规范,所以阿里,小米,京东和中移动等大厂,都是各自制定一套自己的规范;阿里云这面主要是在自家的ICA联盟定义了一套物模型的规范.本文也从实践角度分享一下物模型相关api的使用.

将近一年没有关注阿里云物联网的api,最近看了下官网的文档,api列表中赫然多出了物模型的管理和使用两大类.这也难怪,物模型被誉为物联网世界的原子.通过物模型可以有效的使用属性,服务和事件就可以表示出纷繁复杂和多姿多彩的物联网世界中的各种类型的设备;目前物模型并没有统一的规范,所以阿里,小米,京东和中移动等大厂,都是各自制定一套自己的规范;阿里云这面主要是在自家的ICA联盟定义了一套物模型的规范.本文也从实践角度分享一下物模型相关api的使用.

物模型管理这类api一共有18个,所有物模型的api接口都是基于产品的,所以需要一个以创建的产品id:productkey. 按照功能特性又可以分为模型,模板,语言和脚本四个小类.下面就看一下第一小类模型的6个api.
它们分别是:创建 查询 更新 发布 拷贝 删除
首先是创建一个物模型,使用CreateThingModel这个api接口;这个接口需要使用到两个参数:产品的id号以及创建物模型的三元素[属性.服务.事件],为了易于理解,我们以单独创建一个物模型的属性为例,创建一束光的属性,标识符和名称都为LightVal,取值范围为1-10,访问权限为可读写,那么可以使用如下格式:
XYsayFrO.IoT.Srv.CreateThingModel.a141rgUXgFl.{"properties":[{"identifier":"LightVal","dataSpecs":{"max":"10","min":"1","dataType":"INT"},"std":false,"custom":true,"dataType":"INT","rwFlag":"READ_WRITE","productKey":"a141rgUXgFl","required":false,"customFlag":true,"name":"LightVal"}]}.
运行脚本解释器,可以看到创建成功的提示:

因为创建模型的接口,返回的信息只有成功和失败,过于精简,所以需要我们使用查询物模型接口来确认一下.这个查询的接口为QueryThingModel,后面只需要带一个产品id号的参数就可以啦;具体格式和示例如下:
XYsayFrO.IoT.Srv.QueryThingModel.a141rgUXgFl.
返回的结果截图界面如下:

可以看到绿色圈的信息和我们要求创建的信息一致;

物模型创建好后,难免根据实际情况需要修改更新,这时候就需要用到第三个接口UpdateThingModel物模型更新api了,此接口和第一个创建物模型接口类似,也是需要产品id号和物模型json格式的信息.比如我们需要现在将之前的创建号的光束改为最大值为100,名字改为Light,那么就可以使用下面的格式:
XYsayFrO.IoT.Srv.UpdateThingModel.a141rgUXgFl.{"properties":[{"identifier":"LightVal","dataSpecs":{"max":"100","min":"1","step":"1","dataType":"INT"},"dataType":"INT","rwFlag":"READ_WRITE","productKey":"a141rgUXgFl","required":false,"name":"Light"}]}.
如果更新成功,就会返回如下界面:

这个时候,我们就可以再使用之前一样的查询命令去看更新后的信息.
XYsayFrO.IoT.Srv.QueryThingModel.a141rgUXgFl.
可以看到返回的结果已经变为最大值为100了,说明之前的更新确实成功了;

当我们将物模型创建好,又修改好了以后,就可以正式发布了,这时需要使用第四个接口,PublishThingModel这个api来发布,这里需要两个参数,一个为产品id,一个为需要发布的版本号.
XYsayFrO.IoT.Srv.PublishThingModel.a141rgUXgFl.V0x0x9.
发布成功后,会有如下信息:

当我们的产品很多,创建的物模型相似度又非常高的时候,可以使用第五个拷贝接口,具体名称为CopyThingModel,根据这个接口的实际功能,需要三个参数分别为:拷贝源和目的的产品id,以及源产品的发布版本号.
比如,我们现在把产品id为a141rgUXgFl的产品中物模型,拷贝到产品id为a17hjshDgiK的产品中,物模型的版本号为V0x0x9,那么就可以使用下面的格式:
XYsayFrO.IoT.Srv.CopyThingModel.a141rgUXgFl.a17hjshDgiK.V0x0x9.

最后一个接口为删除产品的物模型,这个api只需要一个参数:需要删除产品所对应的产品id.
XYsayFrO.IoT.Srv.DeleteThingModel.a141rgUXgFl.
运行后,会返回如下信息:

这个时候再去使用下面的命令查询,会返回所有相关的空信息.
XYsayFrO.IoT.Srv.QueryThingModel.a141rgUXgFl.

目录
相关文章
|
2天前
|
API 微服务
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态。
|
12天前
|
人工智能 运维 监控
阿里云 API 聚合实战:破解接口碎片化难题,3 类场景方案让业务响应提速 60%
API聚合破解接口碎片化困局,助力开发者降本增效。通过统一中间层整合微服务、第三方接口与AI模型,实现调用次数减少60%、响应提速70%。阿里云实测:APISIX+函数计算+ARMS监控组合,支撑百万级并发,故障定位效率提升90%。
138 0
|
12天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 9 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
13天前
|
JSON API 调度
Midjourney 技术拆解与阿里云开发者实战指南:从扩散模型到 API 批量生成
Midjourney深度解析:基于优化Stable Diffusion,实现文本到图像高效生成。涵盖技术架构、扩散模型原理、API调用、批量生成系统及阿里云生态协同,助力开发者快速落地AIGC图像创作。
230 0
|
18天前
|
人工智能 自然语言处理 安全
探索 API 的无限可能:阿里云的卓越引领
API是数字化时代的“万能钥匙”,阿里云凭借云控制API、API网关、OpenAPI Explorer等产品,构建全方位API生态,助力企业高效集成、安全管控与创新升级,推动电商、制造等行业智能化转型,引领未来科技浪潮。
103 10
|
18天前
|
人工智能 API 监控
告别多接口拼凑!阿里云 API 模型聚合实现技术能力协同跃迁
API聚合整合400+国内外AI模型,统一接口、屏蔽差异,降低开发与维护成本,提升效率与系统稳定性,助力开发者高效应对多API调用困境。
148 0
API 微服务
45 0
|
4天前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
13天前
|
JSON 前端开发 API
如何调用体育数据足篮接口API
本文介绍如何调用体育数据API:首先选择可靠服务商并注册获取密钥,接着阅读文档了解基础URL、端点、参数及请求头,然后使用Python等语言发送请求、解析JSON数据,最后将数据应用于Web、App或分析场景,同时注意密钥安全、速率限制与错误处理。
|
13天前
|
JSON 自然语言处理 监控
淘宝关键词搜索与商品详情API接口(JSON数据返回)
通过商品ID(num_iid)获取商品全量信息,包括SKU规格、库存、促销活动、卖家信息、详情页HTML等。

热门文章

最新文章