1

我阅读了NGSIv2 规范中的“自定义通知”部分,但我仍然对如何使这项工作产生疑问。

我是否必须在我的订阅 POST 中输入以下代码作为有效负载?

"httpCustom": {
  "url": "http://foo.com/entity/${id}",
  "headers": {
    "Content-Type": "text/plain"
  },
  "method": "PUT",
  "qs": {
    "type": "${type}"
  },
  "payload": "The temperature is ${temperature} degrees"
}

带有 httpCustom 的完整有效负载如何用于使用身份验证/授权进行订阅?

最后,如Rush Relayer所述,真的有必要使用Rush吗?在这种情况下,我们必须使用大约 3 年前更新的“第三方”软件。为什么 Orion 不提供这个?我也希望能得到一些帮助。

4

1 回答 1

1

httpCustom可以使用以下内容:

"httpCustom": {
  "url": "http://example.com/some/path",
  "headers": {
    "X-Auth-Token": "n5u43SunZCGX0AbnD9e8R537eDslLM"
  }
}

令牌会不时过期。因此,它应该定期更新,httpCustom用新令牌修改元素(使用PATCH /v2/subscriptions/<id>操作,详见NGSIv2 规范)。

关于 Rush,如果你能用一些等效的软件实现 HTTP-to-HTTPS 是没有必要的。Orion 的本机 HTTPS 通知已被确定为一个感兴趣的话题,甚至在该行中有一个带有代码实现的拉取请求。目前这不是优先事项,但是欢迎与此相关的贡献:)

编辑:上述httpCustom配置将使 Orion 发送包含该X-Auth-Token标头的通知。因此,假设在url端点(例如http://example.com/some/path在上面的示例中),能够处理X-Auth-Token报头的认证元素将被监听(通常是策略执行点-PEP-代理)。

更新:从版本 1.7.0 开始,Orion 实现了本地 HTTPS 通知(即不需要 Rush)。

于 2016-12-16T22:46:27.650 回答