【问题标题】:Fiware-Orion: Subscribe to all entitiesFiware-Orion:订阅所有实体
【发布时间】:2017-04-05 11:35:43
【问题描述】:

在 Orion 1.4.0 中,我使用以下 JSON 订阅所有实体

{
  "description": "Update average rating",
  "subject": {
    "entities": [
      {
        "idPattern": ".*",
        "type": ""
      }
    ],
    "condition": {
      "attrs": []
    }
  },
  "notification": {
    "http": {
      "url": "http://URL:1026/v2"
    }
  },
  "expires": "2020-01-01T00:00:00.00Z",
  "throttling": 5
}

今天我用 Orion 1.7.0 尝试了这个 JSON,但它不再工作了。它返回以下错误:

ERROR 400
{"error":"BadRequest","description":"entity type length: 0, min length supported: 1"}

我意识到,这是因为"type": ""。我将其更改为"type": "*"。订阅有效,但现在我没有收到任何通知。 * 可能不是订阅所有实体的正确模式。

供参考:https://github.com/telefonicaid/fiware-orion/issues/2876

【问题讨论】:

    标签: fiware-orion


    【解决方案1】:

    尝试使用"typePattern": ".*" 而不是"type": ""

    【讨论】:

    • 我会试试的。这是否与旧版本(例如 1.4.0)向后兼容?
    • 实际上,NGSIv2 API 不允许使用空类型(请参阅telefonicaid.github.io/fiware-orion/api/v2/stable 的“字段语法限制”部分):“最小字段长度为 1 个字符”。因此,Orion 1.4.0 中的空类型是一个错误,在 1.4.0 和 1.7.0 之间的某个时刻已经解决。关于 typePattern,它似乎是在 1.3.0 中引入的(参见github.com/telefonicaid/fiware-orion/releases/tag/1.3.0:“添加:订阅的类型模式(#1853)”)。因此,在这种情况下应该是向后兼容的(尽管我没有亲自测试过)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多