FIWARE Orion、NGSIv2订阅具有结构化值的属性
我正在使用Orion Contex Broker,当结构化属性中的参数更改其值时,我需要接收通知。例如:FIWARE Orion、NGSIv2订阅具有结构化值的属性,fiware,fiware-orion,Fiware,Fiware Orion,我正在使用Orion Contex Broker,当结构化属性中的参数更改其值时,我需要接收通知。例如: 订阅: 创建实体: 更新实体: 预期结果是在实体创建和更新时收到通知。另一种可能是“条件表达式”。但是其中一种:“q”:“address.streetAddress!=${previousValue}”尚未实现。NGSI中的属性通常是数字或字符串-这通常会导致非常扁平的数据模型。在这种情况下,当属性值更改时,将触发订阅 JSON对象(如上面的地址)也受支持,但是只要对象的值发生更改,并且没有
预期结果是在实体创建和更新时收到通知。另一种可能是“条件表达式”。但是其中一种:
“q”:“address.streetAddress!=${previousValue}”
尚未实现。NGSI中的属性通常是数字或字符串-这通常会导致非常扁平的数据模型。在这种情况下,当属性值更改时,将触发订阅
JSON对象(如上面的地址
)也受支持,但是只要对象的值
发生更改,并且没有专门绑定到子属性,就会发生更改
"attrs":[
"address.streetAddress"
]
需要:
"attrs":[
"address"
]
但是,q
参数可用于针对特定子属性进行过滤,例如q=address.streetAddress=“Old”
-监听接口可以在订阅启动后修改订阅
curl -iX PATCH \
--url 'http://localhost:1026/v2/entities/urn:ngsi-ld:Store:001/attrs' \
-H 'Content-Type: application/json' \
-d '{
"address":{
"type":"PostalAddress",
"value":{
"streetAddress":"Bornholmer"
}
}
}'
"attrs":[
"address.streetAddress"
]
"attrs":[
"address"
]