園區(qū)空間數(shù)據(jù)變更訂閱
當(dāng)園區(qū)SaaS端想要獲取園區(qū)的空間數(shù)據(jù)變化消息時(shí),可以通過如下方式進(jìn)行訂閱。
1、消息訂閱
1、獲取項(xiàng)目appkey和appSecret
使用阿里云賬號(hào)登錄數(shù)字園區(qū)引擎,登錄后如下圖所示
點(diǎn)擊對(duì)應(yīng)的園區(qū),則會(huì)進(jìn)入該園區(qū)的管理頁面,在園區(qū)概覽菜單下,可以查看園區(qū)項(xiàng)目的appKey和appSecret
2、獲取實(shí)例ID
3、獲取數(shù)據(jù)模型id
在園區(qū)管理頁面,選中應(yīng)用管理菜單,選擇數(shù)據(jù)管理菜單,可以看到園區(qū)空間數(shù)據(jù)訂閱,模型編號(hào)為iotx_iwms_space_subscribe,如下圖所示
4、建立連接
根據(jù)以上信息,建立消息連接通道,使用方法參考連接,選擇AMQP方式建立連接http://bestwisewords.com/document_detail/140317.html#h2-va4-r81-xq3
?
2、使用控制臺(tái)進(jìn)行空間變更
空間變更的操作包括:新增、刪除、修改,下面以新增空間舉例。
選中具體園區(qū)項(xiàng)目,進(jìn)入后在左邊菜單欄,選中基礎(chǔ)能力菜單,選擇空間管理菜單,如下圖所示
當(dāng)鼠標(biāo)放置在左側(cè)空間樹狀節(jié)點(diǎn)上,會(huì)彈出添加按鈕,此時(shí)可以進(jìn)行空間位置的添加
選擇某個(gè)空間以后,可以在右側(cè)界面增加空間單元,如下圖所示
3、消息接收
當(dāng)空間信息有變更(新增、刪除、編輯)的時(shí)候,可以收到對(duì)應(yīng)的變更消息,如下所示
{
"dataIds": [
123456789 // 數(shù)據(jù)唯一標(biāo)識(shí)
],
"dataInstanceId": "iot-pre06****0a", // 園區(qū)的實(shí)例id
"logicalModelIsoId": "oxs_***_id",
"modelId": "iotx_iwms_space_subscribe", // 數(shù)據(jù)模型id
"operateType": "insert", // 通常是insert,注意區(qū)別于payload內(nèi)的operate_type
"payload": "payload info", // 消息體,JSON字符串
"scopeId": "a123pe****2uP3cK" // 通常是當(dāng)前園區(qū)項(xiàng)目id
}
?
在使用的時(shí)候可以根據(jù)modelId字段,進(jìn)行不同數(shù)據(jù)模型消息的區(qū)分
?
4、payload詳細(xì)信息
payload字段為JSON字符串,具體字段見下表
名稱 | 數(shù)據(jù)類型 | 是否必須 | 屬性名稱 | 描述 |
tenant_id | String | 是 | 租戶id | 園區(qū)項(xiàng)目所屬租戶id |
instance_id | String | 是 | 實(shí)例id | 園區(qū)實(shí)例id |
project_id | String | 是 | 項(xiàng)目id | 園區(qū)項(xiàng)目id,通常和外部scopeId一致 |
creator_type | String | 否 | 創(chuàng)建人類型 | 通常是SYSTEM |
creator_id | String | 否 | 創(chuàng)建人ID | 通常是campus_si_oc |
modifier_type | String | 否 | 修改人類型 | 修改人類型,通常是SYSTEM? |
modifier_id | String | 否 | 修改人ID | 修改人的ID? |
parent_id | String | 是 | 上級(jí)空間ID | 當(dāng)前空間ID對(duì)應(yīng)的上級(jí)空間ID? |
type_code | String | 否 | 空間類型 | 空間位置是default,空間單元是space_unit |
poi_code | String | 否 | 當(dāng)前空間編碼 | 當(dāng)前空間編碼? |
poi_code_path | String | 否 | 空間編碼 | 包含所有父層級(jí)的空間編碼 |
uses_code | String | 否 | 用途 | 當(dāng)前空間用途的代碼? |
name | String | 是 | 業(yè)務(wù)空間名稱 | 當(dāng)前業(yè)務(wù)空間名稱? |
description | String | 否 | 業(yè)務(wù)空間描述 | 業(yè)務(wù)空間描述? |
business_id | String | 否 | 業(yè)務(wù)空間id | 當(dāng)前業(yè)務(wù)空間的id? |
status | Integer | 是 | 狀態(tài) | 狀態(tài):啟用(1),停用(0) |
geo | String | 否 | 空間形狀及坐標(biāo) | 當(dāng)前空間的形狀及坐標(biāo)? |
path | String | 是 | 層及路徑 | 包含所有父層級(jí)空間id,用“/”分割 |
space_id | String | 是 | 空間id | 當(dāng)前空間id |
name_path | String | 是 | 業(yè)務(wù)空間名稱path | 包含所有父空間層級(jí)名稱,用“/”分割 |
operate_type | String | 是 | 操作類型 | 空間位置的變更類型,包括新增add、刪除delete、編輯update |