设备接入 IOTDA-设备Topic策略使用前必读:策略通配符

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

策略通配符

策略中具有不同的通配符,使用前需注意。在策略中,“*”表示字符的任意组合,问号“? ”表示任何单个字符,而通配符“+”和“#”被视为没有特殊含义的字符。

表1 策略通配符

通配符

是MQTT通配符

策略配置是否适用

MQTT中主题示例

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

#

test/#

不适用,“#”被视为没有特殊含义的字符。

+

test/+/some

不适用,“+”被视为没有特殊含义的字符。

*

不适用,“*”被视为没有特殊含义的字符。

test/*

test/*/some

不适用,“?”被视为没有特殊含义的字符。

test/????/some

test/set?????/some

表2 定义策略通配符示例

发布/订阅的Topic

策略Topic定义

解释

假设设备需要订阅/发布以下Topic:

“test/topic1/some”

“test/topic2/some”

“test/topic3/some”

“topic:test/topic?/some”

在发布、订阅的Topic中可以发现有共同点:“test/topic”+ 某一字符 + “/some”,而在策略定义中“?”代表某一字符。所以策略Topic可以定义为“topic:test/topic?/some”

假设设备需要订阅/发布以下Topic:

“test/topic1/pub/some”

“test/topic2/sub/some”

“test/topic3/some”

“topic:test/topic*/some”

在发布、订阅的Topic中可以发现有共同点:“test/topic”+ 一个或多个字符 + “/some”,而在策略定义中“*”代表多个或一个字符。所以策略Topic可以定义为“topic:test/topic*/some”

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