【问题标题】:Using expression in Fiware Draco Subscription在 Fiware Draco 订阅中使用表达式
【发布时间】:2020-06-25 15:10:29
【问题描述】:

我们希望根据“设备时间”属性过滤发送给 Draco 的通知。只有当该属性不为空时,我们才想向 Draco 发送数据。我们如何在 Draco 订阅中实现这一点。我在表达上尝试了很多组合,但没有任何效果。你能在这里帮忙吗:

curl -iX POST \
  'http://52.172.34.29:1026/v2/subscriptions?options=skipInitialNotification' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: openiot' \
  -H 'fiware-servicepath:  /' \
  -d '{
  "description": "Subscription",
  "subject": {
    "entities": [
      {
        "idPattern": ".*"
      }
    ],
    "condition": {
      "attrs": [],
      "expression":{"q":"devicetime==.*"}
    }
  },
  "notification": {
    "http": {
      "url": "http://52.172.34.29:3003/v2/notify"
    },
    "attrs": [],
    "onlyChangedAttrs":true,
    "throttling": 5
  }
}'

【问题讨论】:

    标签: subscription fiware-orion


    【解决方案1】:

    根据 NGSIv2 规范:一元否定语句使用一元运算符 !,而肯定一元语句根本不使用运算符。一元语句用于检查目标属性是否存在。例如。 temperature 匹配具有名为“温度”的属性(无论其值如何)的实体,而!temperature 匹配不具有名为“温度”的属性的实体。

    所以你应该修复它

    "expression":{"q":"devicetime"}
    

    【讨论】:

    • 请通过编辑将所有此类信息添加到问题中
    猜你喜欢
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多