边缘应用空间管理对接

更新时间: 2022-12-19 15:42:43

1.整体介绍

本章主要介绍智能边缘一体机集群中对应的空间接口的接入API,其中:1.云端:提供云端的SDK API给到ISV用于管理态的应用空间权限的管理。2.同步:平台通过云->边同步机制,把云端的应用的空间数据关系同步到边缘集群。3.边侧:提供边侧的SDK API给到ISV用于运行态的边侧的空间校验。请求方式:请求方式为post请求,请求内容为JSON格式放到请求的body中。请求路径为:url为${xxx}/space/${apiName}, 其中${xxx}为边缘的请求根目录;${apiName}为下文中的API名称。

2.云端API

2.1 园区空间开放服务

具体API可以参考现有云端API文档中的空间开发服务部分:https://dev.iot.aliyun.com/api_center

2.2 获取设备信息接口

用于获取项目下所有已绑定空间的设备信息接口信息。

接口描述

API版本

1.0.1

授权类型

APPSIGN

协议

HTTPS

请求方法

Post

域名(环境变量中获取)

api.link.aliyun.com

路径

/campus/paas/openapi/space/device/list

入参说明

入参名称

数据类型

是否必须

入参描述

appId

字符串

-

pageNo

整形

1

pageSize

整形

20

categoryKey

字符串

-

spaceId

字符串

-

appId

字符串

-

具体复杂数组可参照接口文档:获取项目下所有已绑定空间的设备信息接口

出参列表

出参名称

数据类型

出参描述

code

整形

响应码, 200: 成功

message

字符串

错误消息

localizedMsg

字符串

本地语言错误消息

data

长整型

响应结果返回的长整型数据是增加的数据的ID

请求示例

/**
     * 系统环境变量中获取的
     */
    public static final String appkey = System.getenv("iot.hosting.appKey");
    public static final String appSecret = System.getenv("iot.hosting.appSecret");
public static void main(String[] args) throws UnsupportedEncodingException {
    IoTApiClientBuilderParams ioTApiClientBuilderParams =
      new IoTApiClientBuilderParams();
    ioTApiClientBuilderParams.setAppKey("你的<AppKey>");
    ioTApiClientBuilderParams.setAppSecret("你的<AppSecret>");
    SyncApiClient syncClient = new SyncApiClient(ioTApiClientBuilderParams);
    IoTApiRequest request = new IoTApiRequest();
    //设置api的版本
    request.setApiVer("0.0.3");
    //如果需要登录,设置当前的会话的token
    request.setIotToken("xxxxxxxxxxxxxxx");
  // 接口参数
    request.putParam("appId","value1");
    request.putParam("pageNo","value2");
    request.putParam("pageSize","value3");
    request.putParam("categoryKey","value4");
    request.putParam("spaceId","value5");
    //请求参数域名、path、request
  ApiResponse response = syncClient.postBody("api.link.aliyun.com",
      "/user/rbac/permission/batchcreate", request, true);
    System.out.println( "response code = " + response.getCode()
      + " response = " + new String(response.getBody(), "UTF-8"));
}

返回结果示例 JSON

{
    "code": 200,
    "data": {
        "data": [
            {
                "categoryKey": "Gateway",
                "deviceName": "xxxxxxxxxx",
                "productKey": "xxxxxxxxxx",
                "productName": "xxxxxxxxxx",
                "spacePath": "/xxxxxxxxxx/xxxxxxxxxx/"
            },
            {
                "categoryKey": "Curtain",
                "deviceName": "xxxxxxxxxx",
                "productKey": "xxxxxxxxxx",
                "productName": "xxxxxxxxxx",
                "spacePath": "/xxxxxxxxxx/xxxxxxxxxx/"
            }
        ],
        "pageNo": 1,
        "pageSize": 20,
        "total": 100
    },
    "message": "success"
}

失败返回结果示例 JSON

{
    "code": 28402,
    "localizedMsg": "无权访问该项目",
    "message": "no access to the project"
}

2.3 UpdateCampusSpace

  • API版本:1.0.0

  • 授权类型:APPSIGN

  • 协议:HTTPS

  • 请求方法:POST

  • 域名:api.link.aliyun.com

  • 路径:/campus/paas/openapi/space/update

  • API描述:更新指定空间的详情内容

  • 版本描述:初始化版本

入参列表

入参名称

数据类型

是否必须

缺省默认值

入参示例

入参描述

appId

字符串

-

-

统一应用ID

—-

—-

—-

—-

—-

—-

spaceInfo

复杂对象

-

-

待更新的空间内容

出参列表

出参名称

数据类型

出参描述

code

整形

响应码, 200: 成功

—-

—-

—-

message

字符串

错误消息

localizedMsg

字符串

本地语言错误消息

请求示例

// https://github.com/aliyun/iotx-api-gateway-client
public static void main(String[] args) throws UnsupportedEncodingException {
    IoTApiClientBuilderParams ioTApiClientBuilderParams =
      new IoTApiClientBuilderParams();
    ioTApiClientBuilderParams.setAppKey("你的<AppKey>");
    ioTApiClientBuilderParams.setAppSecret("你的<AppSecret>");
    SyncApiClient syncClient = new SyncApiClient(ioTApiClientBuilderParams);
    IoTApiRequest request = new IoTApiRequest();
    //设置api的版本
    request.setApiVer("1.0.0");
    request.setId("42423423");
    //如果需要登录,设置当前的会话的token
    request.setIotToken("xxxxxxxxxxxxxxx");
    // 接口参数
    request.putParam("appId","value1");
    request.putParam("spaceInfo","value2");
    //请求参数域名、path、request
    ApiResponse response = syncClient.postBody("api.link.aliyun.com",
      "/campus/paas/openapi/space/update", request, true);
    System.out.println( "response code = " + response.getCode()
      + " response = " + new String(response.getBody(), "UTF-8"));
}

返回结果示例 JSON

{
    "id": "4de2c367-c1db-417c-aa15-8c585e595d92",
    "code": 200,
    "message": null,
    "localizedMsg": null,
    "data": null
}

失败返回结果示例 JSON

{
    "id": "37f7e5fa-d6a5-4efe-8abf-5bf23dca6284",
    "code": 403,
    "message": "request forbidden.",
    "localizedMsg": "请求被禁止",
    "data": null
}

2.4 DeleteCampusSpace

  • API版本:1.0.0

  • 授权类型:APPSIGN

  • 协议:HTTPS

  • 请求方法:POST

  • 域名:api.link.aliyun.com

  • 路径:/campus/paas/openapi/space/delete复制

  • API描述:删除园区行业指定的空间及空间下属资源

  • 版本描述:初始化版本

入参列表

入参名称

数据类型

是否必须

缺省默认值

入参示例

入参描述

appId

字符串

-

-

统一应用ID

—-

—-

—-

—-

—-

—-

spaceIds

复杂对象数组

-

-

待删除的空间列表

出参列表

出参名称

数据类型

出参描述

code

整形

响应码, 200: 成功

—-

—-

—-

message

字符串

错误消息

localizedMsg

字符串

本地语言错误消息

data

复杂对象数组

响应结果

请求示例

// https://github.com/aliyun/iotx-api-gateway-client
public static void main(String[] args) throws UnsupportedEncodingException {
    IoTApiClientBuilderParams ioTApiClientBuilderParams =
      new IoTApiClientBuilderParams();
    ioTApiClientBuilderParams.setAppKey("你的<AppKey>");
    ioTApiClientBuilderParams.setAppSecret("你的<AppSecret>");
    SyncApiClient syncClient = new SyncApiClient(ioTApiClientBuilderParams);
    IoTApiRequest request = new IoTApiRequest();
    //设置api的版本
    request.setApiVer("1.0.0");
    request.setId("42423423");
    //如果需要登录,设置当前的会话的token
    request.setIotToken("xxxxxxxxxxxxxxx");
    // 接口参数
    request.putParam("appId","value1");
    request.putParam("spaceIds","value2");
    //请求参数域名、path、request
    ApiResponse response = syncClient.postBody("api.link.aliyun.com",
      "/campus/paas/openapi/space/delete", request, true);
    System.out.println( "response code = " + response.getCode()
      + " response = " + new String(response.getBody(), "UTF-8"));
}

返回结果示例 JSON

{
    "id": "4de2c367-c1db-417c-aa15-8c585e595d92",
    "code": 200,
    "message": null,
    "localizedMsg": null,
    "data": []
}

失败返回结果示例 JSON

{
    "id": "37f7e5fa-d6a5-4efe-8abf-5bf23dca6284",
    "code": 403,
    "message": "request forbidden.",
    "localizedMsg": "请求被禁止",
    "data": null
}

3.云端和边缘端数据同步API

地产平台通过封装LP云边同步能力,对外开放如下API:0、获取边缘集群列表1、数据同步预检查2、触发数据同步3、数据同步结果查询

3.1接口定义

分页参数会出现在请求参数和返回结果中,用于下文中API调用参照。

  • 在请求参数中代表请求分页的页数(pageNo)和每页的记录数(pageSize);

  • 在响应结果中的页数(pageNo)和每页的记录数(pageSize)与请求参数一致,同时还有total字段代表数据总数。

所有的分页接口除特殊说明外,都遵循下面的约束

参数

类型

备注

pageNo

Integer

请求的页码非必填,默认为1,有效范围 [1, ∞)

pageSize

Integer

每页的记录数非必填,默认为20,有效范围[1,100]

获取集群列表

接口定义

path

版本

是否需要登录

/home/paas/cluster/edge/query

1.0.0

入参

字段

类型

是否必传

备注

pageNo

Integer

请求的页码,详细见上述的分页参数定义。

pageSize

Integer

每页的记录数,详细见上述的分页参数定义。

出参

字段

类型

备注

code

Integer

返回码

message

String

返回信息

data

JSONObject

-data

ClusterDTOList

分页数据对象列表ClusterDTOList

-pageNo

Integer

请求的页码,详细见上述的分页参数定义。

-pageSize

Integer

请求的页码,详细见上述的分页参数定义。

-total

Integer

总记录数

分页数据对象ClusterDTOList

id

String

集群ID

name

String

集群名称

gmtCreate

String

集群创建时间

gmtModified

String

集群修改时间

示例

请求示例

{
  "pageNo":1,
  "pageSize":20
}

返回示例

{
  "code": 200,
  "message": null,
  "localizedMsg": null,
  "data":{
    "pageNo": 1,
    "pageSize": 20,
    "total": 10,
      "data":[{
        "id": "xxx",
      "name": "cluster01",
        "gmtCreate": "2020-03-04 18:00:00",
        "gmtModified": "2020-03-04 18:00:00"
        }]
    }
}

数据同步预检查

接口定义

path

版本

是否需要登录

/home/paas/data/edge/sync/precheck

1.0.0

入参

字段

类型

是否必传

备注

clusterId

String

集群ID

opsType

String

SYNC_DATA - 同步数据CLEAR_DATA - 清理数据

dataTypeList

JSONArray

数据类型列表

出参

字段

类型

备注

code

Integer

返回码

message

String

返回信息

data

String

SYNCING - 同步中NO - 不需要同步YES - 需要同步

示例

请求示例

{
  "clusterId": "xxx",
  "opsType": "SYNC_DATA",
  "dataTypeList": [
      "ACCOUNT",
    "SPACE"
    "RTPC"
    "ALARM"
  ]
}

返回示例

{
  "code": 200,
  "message": null,
  "localizedMsg": null,
  "data": "XXX"
}

触发数据同步

接口定义

path

版本

是否需要登录

/home/paas/data/edge/sync/dispatch

1.0.0

入参

字段

类型

是否必传

备注

clusterId

String

集群ID

opsType

String

SYNC_DATA - 同步数据CLEAR_DATA - 清理数据

dataTypeList

JSONArray

数据类型列表

出参

字段

类型

备注

code

Integer

返回码

message

String

返回信息

data

String

taskGroupId - 任务组ID

示例

请求示例

{
  "clusterId": "xxx",
  "opsType": "SYNC_DATA",
  "dataTypeList": [
      "ACCOUNT",
    "SPACE"
  ]
}

返回示例

{
  "code": 200,
  "message": null,
  "localizedMsg": null,
  "data": "XXX"
}

根据数据同步请求查询结果

接口定义

path

版本

是否需要登录

/home/paas/data/edge/sync/query

1.0.0

入参

字段

类型

是否必传

备注

clusterId

String

集群ID

opsType

String

SYNC_DATA - 同步数据CLEAR_DATA - 清理数据

dataTypeList

JSONArray

数据类型列表

出参

字段

类型

备注

code

Integer

返回码

message

String

返回信息

data

JSONObject

-dataSyncStatus

String

同步的结果NONE - 无任务SYNCING - 同步中SUCCESS - 同步成功FAIL - 同步失败

-preCheckResult

String

是否需要同步SYNCING - 同步中NO - 不需要同步YES - 需要同步

-taskGroupId

String

任务组ID,便于工单排查

示例

请求示例

{
  "clusterId": "xxx",
  "opsType": "SYNC_DATA",
  "dataTypeList": [
      "ACCOUNT",
    "SPACE"
  ]
}

返回示例

{
  "code": 200,
  "message": null,
  "localizedMsg": null,
  "data": {
    "dataSyncStatus": "SUCCESS",
    "preCheckResult": "NO",
    "taskGroupId": "XXX"
  }
}

根据任务组查询数据同步结果

接口定义

path

版本

是否需要登录

/home/paas/data/edge/sync/querybytaskgroupid

1.0.0

入参

字段

类型

是否必传

备注

taskGroupId

String

任务组ID

出参

字段

类型

备注

code

Integer

返回码

message

String

返回信息

data

String

同步的结果NONE - 无任务SYNCING - 同步中SUCCESS - 同步成功FAIL - 同步失败

示例

请求示例

{
  "clusterId": "xxx",
  "opsType": "SYNC_DATA",
  "dataTypeList": [
      "ACCOUNT",
    "SPACE"
  ]
}

返回示例

{
  "code": 200,
  "message": null,
  "localizedMsg": null,
  "data": "SUCCESS"
}

4.边缘端空间调用API

4.1 引入api gateway

<dependency>
        <groupId>com.aliyun.iotx</groupId>
    <artifactId>iotx-api-gateway-client</artifactId>
      <version>${latest.version}</version>
  </dependency>

4.2 接口列表

4.2.1 查询根节点

API path:api/space/listRootSpace请求入参:无

请求出参

SpaceDTO:

字段

类型

描述

namePath

String

空间路径名称

typeCodePath

String

空间路径code

countryName

String

国家

countryCode

String

国家代码

provinceName

String

provinceCode

String

省代码

cityName

String

城市

cityCode

String

城市代码

regionName

String

区域

regionCode

String

区域代码

address

String

地址

id

String

空间ID

attribute

String

空间属性

gmtCreate

Date

创建时间

creatorType

String

创建人类型

creatorId

String

创建人ID

gmtModified

Date

修改时间

modifierType

String

修改人类型

modifierId

String

修改人ID

creatorNickName

String

创建人昵称(如果创建人是identityId则有值)

modifierNickName

String

修改人昵称(如果修改人是identityId则有值)

parentId

String

上级空间ID

businessId

String

业务ID

name

String

空间名称

path

String

空间路径(/pid/pid/pid/pid/

description

String

空间描述

typeCode

String

空间类型代码

usesCode

String

空间用途代码

usesName

String

空间用途名称

typeName

String

空间类型名称

geoDTO

GeoDTO

空间几何信息

poiCode

String

空间编码不含父子级

bizType

String

业务类型

poiCodePath

String

空间编码含父子级

hasChild

Boolean

是否包含下级空间节点

hasDeviceChild

Integer

空间是否包含设备(1:有 ,0 :没有)

status

Integer

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

spaceSope

Integer

公有(0)、私有(1)

出参示例

{
    "code":200,
    "data":[
        {
            "bizType":"campus",
            "businessId":"AutoTestRootSpace_businessId",
            "cityName":"hangzhou",
            "countryName":"china",
            "gmtCreate":157426616****,
            "gmtModified":157426619****,
            "hasChild":true,
            "hasDeviceChild":0,
            "id":"ba91edc1ec9b42b49b767c0f4299ee8e",
            "name":"test_create_by_diyang",
            "namePath":"/test_create_by_diyang/",
            "path":"/ba91edc1ec9b42b49b767c0f4299ee8e/",
            "poiCode":"D36****",
            "poiCodePath":"D36****",
            "provinceName":"zhejiang",
            "regionName":"ali",
            "spaceScope":1,
            "status":1,
            "typeCode":"default",
            "typeCodePath":"/default/",
            "typeName":"根空间"
        }
    ],
    "message":"success"
}

4.2.2 查询子节点列表

API path: /api/space/listChildSpaces

请求入参

listChildSpaceRqquest:

字段

类型

描述

是否必填

tenantId

String

租户ID

scopeId

String

隔离ID

parentSpaceId

String

父节点ID

入参示例

{
  //"tenantId": "xxx",
  //"scopeId": "xxx",
  "parentSpaceId":"ba91edc1ec9b42b49b767c0f4299ee8e"
}

请求出参

出参示例可参考:4.2.1节

出参示例

出参示例可参考:4.2.1节

4.2.3 查询父节点

通过节点的parentId,可参考:4.2.5节,查询父节点信息。

4.2.4 查询节点关联设备

API path:/api/space/listRelationsInSpace

请求入参

listRelationsInSpaceRequest:

字段

类型

描述

是否必填

tenantId

String

租户ID

scopeId

String

隔离ID

spaceId

String

空间ID

relationType

String

一般为device

queryDTO

RelationQueryDTO

查询条件

pageNo

Integer

分页编号

pageSize

Integer

页大小

入参示例

{
    "spaceId": "xxxx",
  "relationType": { //可选
      "name": "xxx", //可选
    "userValue1": "xxx",//可选
    "userValue2": "xxx",//可选
    "userValue3": "xxx"//可选
  },
  "relationType": "device",
  "pageNo": 1,
  "pageSize": 20
}

请求出参

RelationObjectDTO:

字段

类型

描述

relObjectId

String

绑定关系的ID,如iotId,机构ID等

name

String

空间绑定关系名称

userValue1

String

用户自定义值

userValue2

String

用户自定义值

userValue3

String

用户自定义值

出参示例

{
    "code":200,
    "data":{
        "data":[
            {
                "relObjectId":"k1p65dIAOUTrVAe5mMSq0010134f10",
                "name":"设备1",
        "userValue1": "pk", // userValue1的值为pk
        "userValue2": "dn" //userValue2的值为dn
            },
            {
                "relObjectId":"wA8pfQ9c70GV5yelZR9U00104a3010",
                "name":"设备2",
        "userValue1": "pk",
        "userValue2": "dn"
            },
            {
                "relObjectId":"FFRHnW4pNpJGefMCG8KA00109dd310",
                "name":"设备3",
        "userValue1": "pk",
        "userValue2": "dn"
            },
            {
                "relObjectId":"YtpNR4frO3DO5noJYT7H0010314f10",
                "name":"设备4",
        "userValue1": "pk",
        "userValue2": "dn"
            },
            {
                "relObjectId":"1AW27LWwOzE6wbwxUM8N001069f710",
                "name":"设备4",
        "userValue1": "pk",
        "userValue2": "dn"
            }
        ],
        "offset":0,
        "pageNo":1,
        "pageSize":20,
        "total":5
    },
    "message":"success"
}

4.2.5 查询节点信息

API path:/api/space/listSpaceByIds

请求入参

listSpaceByIdRequest:

字段

类型

描述

是否必填

tenantId

String

租户ID

scopeId

String

隔离ID

spaceIdList

List

空间ID列表

入参示例

{
    //"tenantId":"xxx",
  //"scopeId":"xxx",
  "spaceIdList": [
      "xxxxx",
    "xxxxx",
    "xxxxx"
  ]
}

出参示例可参考:4.2.1节出参示例可参考:4.2.1节

4.2.6 查询设备关联节点

API path:/api/space/listSpaceByRelationId

请求入参

listSpaceByRelationIdRequest:

字段

类型

描述

是否必填

tenantId

String

租户ID

scopeId

String

隔离ID

productKey

String

设备pk

deviceName

String

设备dn

入参示例

{
    //"tenantId": "xxx",
  //"scopeId": "xxx",
  "rootSpaceId": "xxx",
  "userValue1": "pk1",
  "userValue2": "dn1"
}

出参示例可参考:4.2.1节出参示例可参考:4.2.1节

{
    "code":200,
    "data":[
        {
            "bizType":"home",
            "creatorId":"digital_community",
            "creatorType":"SYSTEM",
            "gmtCreate":1541406705000,
            "gmtModified":1541772352000,
            "hasChild":true,
            "hasDeviceChild":1,
            "id":"d01e5eb6c84b41eb86015b04ffc2a510",
            "modifierId":"digital_community",
            "modifierType":"SYSTEM",
            "name":"1",
            "namePath":"/丽城154140****/1/",
            "parentId":"d07e1f60510f4b8d85defb8bb6b84db6",
            "path":"/d07e1f60510f4b8d85defb8bb6b84db6/d01e5eb6c84b41eb86015b04ffc2a510/",
            "poiCode":"01",
            "poiCodePath":"01",
            "spaceScope":1,
            "status":1,
            "typeCode":"building",
            "typeCodePath":"/default/building/",
            "typeName":"幢",
            "usesCode":"flat_layer",
            "usesName":"平层"
        }
    ],
    "message":"success"
}

4.2.7 空间全量分页接口

API path

api/space/listSpaceByPage

请求入参

字段

类型

描述

是否必填

pageNo

Integer

分页编号

pageSize

Integer

页大小

出参实例

根据本次请求list的size是否小于pageSize决定是否需要进行下一次请求。

{
    "code":200,
    "data":[
        {
            "bizType":"campus",
            "businessId":"AutoTestRootSpace_businessId",
            "cityName":"hangzhou",
            "countryName":"china",
            "gmtCreate":157426616****,
            "gmtModified":157426619****,
            "hasChild":true,
            "hasDeviceChild":0,
            "id":"ba91edc1ec9b42b49b767c0f4299ee8e",
            "name":"test_create_by_diyang",
            "namePath":"/test_create_by_diyang/",
            "path":"/ba91edc1ec9b42b49b767c0f4299ee8e/",
            "poiCode":"D36****",
            "poiCodePath":"D36****",
            "provinceName":"zhejiang",
            "regionName":"ali",
            "spaceScope":1,
            "status":1,
            "typeCode":"default",
            "typeCodePath":"/default/",
            "typeName":"根空间"
        },
    {
      "bizType":"home",
      "creatorId":"digital_community",
      "creatorType":"SYSTEM",
      "gmtCreate":154140670****,
      "gmtModified":154177235****,
      "hasChild":true,
      "hasDeviceChild":1,
      "id":"d01e5eb6c84b41eb86015b04ffc2a510",
      "modifierId":"digital_community",
      "modifierType":"SYSTEM",
      "name":"1",
      "namePath":"/丽城154140****/1/",
      "parentId":"d07e1f60510f4b8d85defb8bb6b84db6",
      "path":"/d07e1f60510f4b8d85defb8bb6b84db6/d01e5eb6c84b41eb86015b04ffc2a510/",
      "poiCode":"01",
      "poiCodePath":"01",
      "spaceScope":1,
      "status":1,
      "typeCode":"building",
      "typeCodePath":"/default/building/",
      "typeName":"幢",
      "usesCode":"flat_layer",
      "usesName":"平层"
    ],
    "message":"success"
}

4.2.8 空间设备关系全量接口

API path

api/space/listRelationByPage

请求入参

同上

请求出参

List

RelationObjectDTO

字段

类型

描述

relObjectId

String

绑定关系的ID,如iotId,机构ID等

name

String

空间绑定关系名称

userValue1

String

用户自定义值

userValue2

String

用户自定义值

userValue3

String

用户自定义值

poiId

String

空间ID

出参示例

{
    "code":200,
    "data":{
        "data":[
            {
                "relObjectId":"k1p65dIAOUTrVAe5mMSq0010134f10",
                "name":"设备1",
        "userValue1": "pk", // userValue1的值为pk
        "userValue2": "dn", //userValue2的值为dn
        "poiId": "asdioqhwfsaopaosdk"
            },
            {
                "relObjectId":"wA8pfQ9c70GV5yelZR9U00104a3010",
                "name":"设备2",
        "userValue1": "pk",
        "userValue2": "dn",
        "poiId": "asdioqhwfsaopaosdk"
            },
            {
                "relObjectId":"FFRHnW4pNpJGefMCG8KA00109dd310",
                "name":"设备3",
        "userValue1": "pk",
        "userValue2": "dn",
        "poiId": "asdioqhwfsaopaosdk"
            },
            {
                "relObjectId":"YtpNR4frO3DO5noJYT7H0010314f10",
                "name":"设备4",
        "userValue1": "pk",
        "userValue2": "dn",
        "poiId": "asdioqhwfsaopaosdk"
            },
            {
                "relObjectId":"1AW27LWwOzE6wbwxUM8N001069f710",
                "name":"设备4",
        "userValue1": "pk",
        "userValue2": "dn",
        "poiId": "asdioqhwfsaopaosdk"
            }
        ]
    },
    "message":"success"
}

4.2.8 节点变更通知

MQ Topic:空间变更:IOTX_EDGE_SPACE_CHANGE空间设备关系变更:IOTX_EDGE_SPACE_RELATION_CHANGE

请求出参

SpaceDTO:

字段

类型

描述

namePath

String

空间路径名称

typeCodePath

String

空间路径code

countryName

String

国家

countryCode

String

国家代码

provinceName

String

provinceCode

String

省代码

cityName

String

城市

cityCode

String

城市代码

regionName

String

区域

regionCode

String

区域代码

address

String

地址

id

String

空间ID

attribute

String

空间属性

gmtCreate

Date

创建时间

creatorType

String

创建人类型

creatorId

String

创建人ID

gmtModified

Date

修改时间

modifierType

String

修改人类型

modifierId

String

修改人ID

creatorNickName

String

创建人昵称(如果创建人是identityId则有值)

modifierNickName

String

修改人昵称(如果修改人是identityId则有值)

parentId

String

上级空间ID

businessId

String

业务ID

name

String

空间名称

path

String

空间路径(/pid/pid/pid/pid/

description

String

空间描述

typeCode

String

空间类型代码

usesCode

String

空间用途代码

usesName

String

空间用途名称

typeName

String

空间类型名称

geoDTO

GeoDTO

空间几何信息

poiCode

String

空间编码不含父子级

bizType

String

业务类型

poiCodePath

String

空间编码含父子级

hasChild

Boolean

是否包含下级空间节点

hasDeviceChild

Integer

空间是否包含设备(1:有 ,0:没有)

status

Integer

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

spaceSope

Integer

公有(0)、私有(1)

空间设备关系变更:IOTX_EDGE_SPACE_RELATION_CHANGE消息体结构:

{
        "gmtCreate":158234186****,
        "gmtModified":157483210****,
        "id":"0001b934588f49adb943fb44ec8c8125",
        "isDeleted":0,
        "modifierId":"50fcop67d46cea7b79000ad357273f39904b6630",
        "modifierType":"identityId",
        "poiId":"0fb31ec0a3594035b124b1517647f3d5",
        "relationObjId":"2d659c93256f41acbbd85f56fc46f10c",
        "relationType":"device",
        "scopeId":"a103gPpCWWiBpbbL",
        "tenantId":"B4392202C5ED41F596EE1100AE573D9B",
        "tmpStr1":"a12vqRtzA1q",
        "tmpStr2":"SmartDoor"
    }

上一篇: 边缘应用告警规则对接 下一篇: 边缘应用账号权限对接