园区空间数据变更订阅

更新时间:

当园区SaaS端想要获取园区的空间数据变化消息时,可以通过如下方式进行订阅。

1、消息订阅

1、获取项目appkey和appSecret

使用阿里云账号登录数字园区引擎,登录后如下图所示

image.png

点击对应的园区,则会进入该园区的管理页面,在园区概览菜单下,可以查看园区项目的appKey和appSecret

image.png

2、获取实例ID

image.png

3、获取数据模型id

在园区管理页面,选中应用管理菜单,选择数据管理菜单,可以看到园区空间数据订阅,模型编号为iotx_iwms_space_subscribe,如下图所示

image.png

4、建立连接

根据以上信息,建立消息连接通道,使用方法参考连接,选择AMQP方式建立连接https://help.aliyun.com/document_detail/140317.html#h2-va4-r81-xq3

2、使用控制台进行空间变更

空间变更的操作包括:新增、删除、修改,下面以新增空间举例。

选中具体园区项目,进入后在左边菜单栏,选中基础能力菜单,选择空间管理菜单,如下图所示

image.png

当鼠标放置在左侧空间树状节点上,会弹出添加按钮,此时可以进行空间位置的添加

image.png

选择某个空间以后,可以在右侧界面增加空间单元,如下图所示

image.png

3、消息接收

当空间信息有变更(新增、删除、编辑)的时候,可以收到对应的变更消息,如下所示

{
  "dataIds": [
    123456789 // 数据唯一标识
  ],
  "dataInstanceId": "iot-pre06****0a", // 园区的实例id
  "logicalModelIsoId": "oxs_***_id",
  "modelId": "iotx_iwms_space_subscribe", // 数据模型id
  "operateType": "insert", // 通常是insert,注意区别于payload内的operate_type
  "payload": "payload info", // 消息体,JSON字符串
  "scopeId": "a123pe****2uP3cK" // 通常是当前园区项目id
}

在使用的时候可以根据modelId字段,进行不同数据模型消息的区分

4、payload详细信息

payload字段为JSON字符串,具体字段见下表

名称

数据类型

是否必须

属性名称

描述

tenant_id

String

租户id

园区项目所属租户id

instance_id

String

实例id

园区实例id

project_id

String

项目id

园区项目id,通常和外部scopeId一致

creator_type

String

创建人类型

通常是SYSTEM

creator_id

String

创建人ID

通常是campus_si_oc

modifier_type

String

修改人类型

修改人类型,通常是SYSTEM​

modifier_id

String

修改人ID

修改人的ID​

parent_id

String

上级空间ID

当前空间ID对应的上级空间ID​

type_code

String

空间类型

空间位置是default,空间单元是space_unit

poi_code

String

当前空间编码

当前空间编码​

poi_code_path

String

空间编码

包含所有父层级的空间编码

uses_code

String

用途

当前空间用途的代码​

name

String

业务空间名称

当前业务空间名称​

description

String

业务空间描述

业务空间描述​

business_id

String

业务空间id

当前业务空间的id​

status

Integer

状态

状态:启用(1),停用(0)

geo

String

空间形状及坐标

当前空间的形状及坐标​

path

String

层及路径

包含所有父层级空间id,用“/”分割

space_id

String

空间id

当前空间id

name_path

String

业务空间名称path

包含所有父空间层级名称,用“/”分割

operate_type

String

操作类型

空间位置的变更类型,包括新增add、删除delete、编辑update