园区空间和设备绑定关系变更订阅
当园区SaaS端想要获取园区的空间和设备绑定关系变化消息时,可以通过如下方式进行订阅。
1、消息订阅
1、获取项目appkey和appSecret
使用阿里云账号登录数字园区引擎,登录后如下图所示
点击对应的园区,则会进入该园区的管理页面,在园区概览菜单下,可以查看园区项目的appKey和appSecret
2、获取实例ID
3、获取数据模型id
在园区管理页面,选中应用管理菜单,选择数据管理菜单,可以看到园区空间和设备关系变化事件模型,模型编号为iotx_campus_space_device_change_event,如下图所示
4、建立连接
根据以上信息,建立消息连接通道,使用方法参考连接,选择AMQP方式建立连接https://help.aliyun.com/document_detail/140317.html#h2-va4-r81-xq3
2、使用控制台进行空间和设备的绑定关系变更
变更操作包括:绑定、解绑,下面以绑定操作举例。
选中具体园区项目,进入后在左边菜单栏,选中基础能力菜单,选择空间管理菜单,会显示出空间和空间单元的信息,树状图表示空间的层级关系,点击空间后,右边的界面显示空间内包含的空间单元信息,如下图所示
1、空间位置绑定设备
在空间管理界面,选择对应的空间后,点击界面右侧的查看设备
打开查看设备页面后,点击绑定设备按钮,如下图所示
点击绑定设备按钮后,弹出绑定页面,选择需要绑定的设备,点击绑定按钮,如下图所示
点击绑定按钮后,会弹出绑定对话框,可以填写备注信息,点击确定按钮,即可完成空间和设备的绑定
2、空间单元绑定设备
在空间管理页面,选择对应的空间位置后,右侧界面会列出当前空间位置包含的空间单元信息,选择想要绑定的空间单元名称,点击后部的查看设备,如下图所示
打开查看设备页面后,点击绑定设备按钮,如下图所示
点击绑定设备按钮后,弹出绑定页面,选择需要绑定的设备,点击绑定按钮,如下图所示
点击绑定按钮后,会弹出绑定对话框,可以填写备注信息,点击确定按钮,即可完成空间单元和设备的绑定
3、消息接收
当空间信息有变更(绑定、解绑)的时候,可以收到对应的变更消息,如下所示
{
"dataIds": [
22
],
"dataInstanceId": "iot-pre06****0a", //园区实例id
"logicalModelIsoId": "oxs_***_id",
"modelId": "iotx_campus_space_device_change_event", // 数据模型id
"operateType": "insert", //通常是insert,注意区别于payload内的operate_type
"payload": "payload info", // 消息体,JSON字符串
"scopeId": "a123pe****2uP3cK" // 通常是当前园区项目id
}
在使用的时候可以根据modelId字段,进行不同数据模型消息的区分
4、payload详细信息
payload字段为JSON字符串,具体字段见下表
名称 | 数据类型 | 是否必须 | 属性名称 | 数据描述 |
root_space_id | String | 是 | 根空间id | |
event_type | String | 是 | 事件类型 | 表示空间和设备的关系变化,add 表示绑定 delete表示解绑 update表示更新 |
relation_type | String | 是 | 关联对象类型 | 比如device |
relation_obj_id | String | 是 | 关联对象id | relationType为device时,为iotId |
tenant_id | String | 是 | 租户id | |
instance_id | String | 是 | 实例id | 园区项目企业实例 |
timestamp | Long | 是 | 事件时间戳 | |
project_id | String | 是 | 项目id | 通常是项目id |
additional | String | 否 | 附加信息 | |
current_space_id | String | 是 | 当前空间id | |