我正在使用 Cygnus 向 cosmos 发送数据。当实体订阅了上下文代理时,您必须在 JSON 消息中指定当实体的属性必须更新或发送到 Cygnus 时的事件或触发器。在 Cygnus 文档中出现以下链接:
它适用于 Orion Context Broker 的 0.13.0 版吗?
首先你必须创建实体然后创建通知?或者您可以在同一 JSON 消息中创建实体订阅和通知吗?
我可以在 JSON 中看到一个示例吗?
我正在使用 Cygnus 向 cosmos 发送数据。当实体订阅了上下文代理时,您必须在 JSON 消息中指定当实体的属性必须更新或发送到 Cygnus 时的事件或触发器。在 Cygnus 文档中出现以下链接:
它适用于 Orion Context Broker 的 0.13.0 版吗?
首先你必须创建实体然后创建通知?或者您可以在同一 JSON 消息中创建实体订阅和通知吗?
我可以在 JSON 中看到一个示例吗?
通用订阅/通知机制在 Orion 0.13.0 中与 Cygnus 一起使用(通常,在任何版本中,可能非常古老的版本除外)。一般而言,该过程将假设您已正确配置并运行 Orion 和 Cygnus 实例:
首先,在 Orion 创建订阅,使用 Cygnus 正在侦听的主机/端口作为参考。订阅示例:
{
"entities": [
{
"type": "Room",
"isPattern": "false",
"id": "Room1"
}
],
"attributes": [ ],
"reference": "cygnus_host:cygnus_port/cygnus_url",
"duration": "P1M",
"notifyConditions": [
{
"type": "ONCHANGE",
"condValues": [
"pressure",
"temperature"
]
}
]
}
其次,在 Orion 更新订阅中 condValues 处的任何实体属性。考虑到上面的例子,“压力”或“温度”的更新将通知案例。例如温度更新:
{
"contextElements": [
{
"type": "Room",
"isPattern": "false",
"id": "Room1",
"attributes": [
{
"name": "temperature",
"type": "centigrade",
"value": "26.5"
}
]
}
]
}
最后,上述更新将导致向 Cygnus 发送通知,并按顺序保留在配置的接收器上,例如 Cosmos BigData、MySQL(来自 Cygnus 0.2.1)或 CKAN(来自 Cygnus 0.3)。
其他意见:
cygnusagent.sources.http-source.port
Cygnus 配置中的参数值匹配cygnusagent.sources.http-source.handler.notification_target
Cygnus中的参数值匹配cygnusagent.sources.http-source.handler.orion_version
必须与您使用的 Orion 版本匹配(Cygnus 0.3 将不再使用此机制)。请查看Cygnus 文档以获取更多详细信息。
(注意:在引用元素之前包含 http://,由于 StackOverFlow 编辑限制,我无法自己添加)