Orion Broker:在不更改消息格式的情况下续订订阅
Orion Broker: Renew subscriptions without changing message format
我有一个 Orion 上下文代理实例 运行 和其他几个服务通过 "ONCHANGE" 订阅从它接收通知。
我还有一个简单的脚本,可以通过 GET /v2/subscriptions
检查现有订阅,然后根据需要续订。但是,此端点不会 return 为每个订阅者发送数据的格式 (XML/JSON)。
问题是不同的服务需要不同的格式并且不知道初始 Accept
header 是不可能正确续订的,因为当调用任何更新方法已制定(POST /v1/updateContextSubscription
或 PUT /v1/contextSubscriptions/{subscriptionID}
),默认为 XML
有没有一种方法可以让我在不直接访问 Mongo 数据库的情况下知道订阅的格式?或者任何不改变最初设置的消息格式的更新方法?
XML 自 Orion 0.23.0 以来已弃用(更多信息 here)。因此,我建议您调整所有通知接收器以仅处理 JSON 并始终使用 JSON.
更新订阅
否则,您的更新订阅程序需要跟踪每个接收器使用的格式(URL->格式table)以便在每个案例。
我有一个 Orion 上下文代理实例 运行 和其他几个服务通过 "ONCHANGE" 订阅从它接收通知。
我还有一个简单的脚本,可以通过 GET /v2/subscriptions
检查现有订阅,然后根据需要续订。但是,此端点不会 return 为每个订阅者发送数据的格式 (XML/JSON)。
问题是不同的服务需要不同的格式并且不知道初始 Accept
header 是不可能正确续订的,因为当调用任何更新方法已制定(POST /v1/updateContextSubscription
或 PUT /v1/contextSubscriptions/{subscriptionID}
),默认为 XML
有没有一种方法可以让我在不直接访问 Mongo 数据库的情况下知道订阅的格式?或者任何不改变最初设置的消息格式的更新方法?
XML 自 Orion 0.23.0 以来已弃用(更多信息 here)。因此,我建议您调整所有通知接收器以仅处理 JSON 并始终使用 JSON.
更新订阅否则,您的更新订阅程序需要跟踪每个接收器使用的格式(URL->格式table)以便在每个案例。