You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wirecloud中ngsi-source-operator从Orion获取数据的配置咨询

配置NGSI Source Operator从Orion取数并对接Wirecloud地图组件

我来一步步给你讲清楚怎么配置NGSI Source Operator,还有Orion订阅的通知URL该用啥,帮你把Orion的数据顺利弄到Wirecloud的地图组件里。

一、NGSI Source Operator的配置步骤

在Wirecloud全局实例里找到NGSI Source Operator,打开它的配置面板,重点填这些参数:

  • Broker URL:直接填你的Orion实例地址 http://130.206.117.237:1026,别加多余的路径,operator会自动处理NGSI API的调用逻辑。
  • NGSI Version:选v2就行,现在Orion主流都是用v2版本,除非你特意配置了v1,不然不用改。
  • Entity Type:这里要填你Orion里存的实体类型,比如如果是位置类实体,可能是PointOfInterest或者你自定义的Vehicle,必须和Orion里的实体类型完全一致,不然拿不到数据。
  • Attributes:指定地图组件需要的属性,比如location(这个是GeoJSON格式的坐标,地图组件必须要的)、name(实体名称,用来标记点),多个属性用逗号隔开就行,比如location,name。
  • Update Method:分两种模式选:
    • 要是数据更新不频繁,选Polling(轮询),然后设置Polling Interval,比如设5000毫秒(也就是5秒),operator会定期去Orion拉数据。
    • 要是想实时获取数据变化,选Subscription(订阅推送),这时候得先在Orion里创建订阅,把通知发到Wirecloud的回调地址,后面我会讲这个地址怎么拿。
  • 可选参数:比如Filter可以加过滤条件,比如id==MyCar001来只拉特定实体的数据,不需要的话留空就行。

配置完点「Apply」保存,然后把operator的entities输出端口,和Map Widget的entities输入端口连起来,这样数据就能流到地图里了。

二、Orion订阅的通知URL设置

当你选了订阅推送模式,得让Orion把数据变化的通知发到Wirecloud,步骤如下:

  1. 先在Wirecloud的仪表盘里,点开NGSI Source Operator的「信息」或者「订阅设置」(不同版本位置可能有点不一样),里面会显示一个Callback URL,格式大概是https://wirecloud.global.example.com/callback/xxxxxx,这个就是你要在Orion订阅里用的通知地址,直接复制下来。
  2. 用curl或者Postman给Orion发请求创建订阅:
    • 请求地址:http://130.206.117.237:1026/v2/subscriptions
    • 请求方法:POST
    • 请求头:Content-Type: application/json
    • 请求体示例(记得替换里面的实体类型、属性和回调URL):
      {
        "description": "给Wirecloud推送实体更新",
        "subject": {
          "entities": [
            {
              "type": "你的实体类型",
              "idPattern": ".*" // 匹配该类型下所有实体,也可以写具体id
            }
          ],
          "condition": {
            "attrs": ["location", "name"] // 和operator里指定的属性保持一致
          }
        },
        "notification": {
          "http": {
            "url": "刚才复制的Wirecloud回调URL"
          },
          "attrs": ["location", "name"]
        }
      }
      
  3. 发完请求如果返回201 Created,就说明订阅创建成功了,之后Orion里的实体数据一有变化,就会自动推送到Wirecloud的operator,然后同步到地图组件里。

三、几个要注意的点

  • 得确保Orion实例能访问到Wirecloud的回调URL,因为是Orion主动发通知给Wirecloud,要是防火墙挡住了就收不到推送了。
  • Map Widget那边要检查属性映射,比如有些组件需要你指定纬度、经度对应的属性,如果你的location是GeoJSON的Point类型,很多地图组件会自动解析,不用额外配置,但要是组件不支持,可能得拆成lat和lon属性来传。
  • 测试的时候可以先用轮询模式,确认能拿到数据,再切换到推送模式,这样排查问题更方便。

内容的提问来源于stack exchange,提问作者Prashant Chauhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:38:10