设备接入 IOTDA-设备Topic策略使用前必读:策略变量

时间:2024-10-23 17:42:54

策略变量

在策略中定义resource时,如果不知道对设备资源或条件键的精确值,可以使用策略变量作为占位符,进行发布/订阅主题筛选。策略变量在校验MQTT的主题时,会把变量变为接入设备对应的ID值,再进行匹配。

变量使用前缀“$”标记,后面跟一对大括号“{ }”,其中包含请求中值的变量名称。如下表,假设MQTT设备是在客户端ID为test_clientId,产品ID为test_productId,设备ID为test_deviceId。

表3 策略变量

策略变量

描述

MQTT中主题示例

适用于MQTT主题示例的策略示例

${devices.deviceId}

设备ID

test/test_deviceId/topic

test/${devices.deviceId}/topic

${devices.clientId}

客户端ID

test/test_clientId/topic

test/${devices.clientId}/topic

${devices.productId}

产品ID

test/test_productId/topic

test/${devices.productId}/topic

表4 定义策略变量示例

场景

策略Topic定义示例

描述

想通过topic区分不同设备的自定义上报时。

“test/${devices.deviceId}/topic”

允许Topic为“test/${本设备ID}/topic”的主题订阅或发布。有利于设备间数据隔离。

想通过topic区分不同设备的自定义上报、区分同一设备不同时间段上报的数据时。

“test/${devices.clientId}/topic”

允许Topic为“test/${本设备的clientId}/topic”的主题订阅或发布。与deviceId不同的是,clientId携带时间戳。可用主题来区分时间段。

support.huaweicloud.com/usermanual-iothub/iot_01_1114.html