阿里云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.

目录
相关文章
|
1月前
|
API
阿里云短信服务文档与实际API不符
阿里云短信服务文档与实际API不符
|
22天前
|
存储 人工智能 自然语言处理
Elasticsearch Inference API增加对阿里云AI的支持
本文将介绍如何在 Elasticsearch 中设置和使用阿里云的文本生成、重排序、稀疏向量和稠密向量服务,提升搜索相关性。
65 14
Elasticsearch Inference API增加对阿里云AI的支持
|
6天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
1月前
|
IDE API 开发工具
沉浸式集成阿里云 OpenAPI|Alibaba Cloud API Toolkit for VS Code
Alibaba Cloud API Toolkit for VSCode 是集成了 OpenAPI 开发者门户多项功能的 VSCode 插件,开发者可以通过这个插件方便地查找API文档、进行API调试、插入SDK代码,并配置基础环境设置。我们的目标是缩短开发者在门户和IDE之间的频繁切换,实现API信息和开发流程的无缝结合,让开发者的工作变得更加高效和紧密。
沉浸式集成阿里云 OpenAPI|Alibaba Cloud API Toolkit for VS Code
|
20天前
|
弹性计算 负载均衡 监控
阿里云slb的slb-api介绍
【10月更文挑战第17天】
48 1
|
1月前
|
API
阿里云短信平台API错误码提示错误天级流控显示小时级错误码
阿里云短信平台API错误码提示错误天级流控显示小时级错误码
|
1月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 09 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
4天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
16天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
17天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应

热门文章

最新文章