FIWARE Orion、NGSIv2订阅具有结构化值的属性

FIWARE Orion、NGSIv2订阅具有结构化值的属性,fiware,fiware-orion,Fiware,Fiware Orion,我正在使用Orion Contex Broker,当结构化属性中的参数更改其值时,我需要接收通知。例如: 订阅: 创建实体: 更新实体: 预期结果是在实体创建和更新时收到通知。另一种可能是“条件表达式”。但是其中一种:“q”:“address.streetAddress!=${previousValue}”尚未实现。NGSI中的属性通常是数字或字符串-这通常会导致非常扁平的数据模型。在这种情况下,当属性值更改时,将触发订阅 JSON对象(如上面的地址)也受支持,但是只要对象的值发生更改,并且没有

我正在使用Orion Contex Broker,当结构化属性中的参数更改其值时,我需要接收通知。例如:

  • 订阅
  • 创建实体
  • 更新实体

  • 预期结果是在实体创建和更新时收到通知。另一种可能是“条件表达式”。但是其中一种:
    “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"
    ]