我阅读了NGSIv2 specification中的“自定义通知”部分,我仍然对如何使其工作有疑问。
我是否必须将以下代码作为有效负载添加到我的订阅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所述,真的有必要使用Rush Relayer吗?在这种情况下,我们必须使用大约3年前更新的“第三方”软件。 Orion为什么不提供这个?我也很感激这方面的一些帮助。
答案 0 :(得分:1)
可以使用以下httpCustom
:
"httpCustom": {
"url": "http://example.com/some/path",
"headers": {
"X-Auth-Token": "n5u43SunZCGX0AbnD9e8R537eDslLM"
}
}
令牌will expire from time to time。因此,应定期更新,使用新令牌修改httpCustom
元素(使用PATCH /v2/subscriptions/<id>
操作,有关详细信息,请参阅NGSIv2 specification。)
关于Rush,如果你能用一些等效的软件实现HTTP-to-HTTPS,则不是必需的。 Orion上的本机HTTPS通知已标识为a topic of interest,甚至在该行中还有pull request代码实现。目前它不是优先事项,但欢迎与此相关的贡献:)
编辑:以上httpCustom
配置会让Orion发送包含X-Auth-Token
标头的通知。因此,假设在url
端点(例如上面示例中的http://example.com/some/path
),能够处理X-Auth-Token
标头的认证元素将被监听(通常是策略执行点 - PEP-代理)。
UPDATE:自版本1.7.0以来,Orion实现了本机HTTPS通知(即不需要Rush)。