Fiware Orion-发送多个更新的模式订阅
当对象发生变化时,我使用Orion向Proton CEP发送更新 但是,我有许多这样的对象每隔几秒钟更新一次。所以我将这些更新分批发送给Orion,如下所示:Fiware Orion-发送多个更新的模式订阅,fiware,fiware-orion,Fiware,Fiware Orion,当对象发生变化时,我使用Orion向Proton CEP发送更新 但是,我有许多这样的对象每隔几秒钟更新一次。所以我将这些更新分批发送给Orion,如下所示: { "contextElements": [ { "type": "Queue", "isPattern": "false", "id": "Queue.routes_queue", "attributes": [
{
"contextElements": [
{
"type": "Queue",
"isPattern": "false",
"id": "Queue.routes_queue",
"attributes": [
{
"name": "volume",
"type": "integer",
"value": "3"
}
]
},
{
"type": "Queue",
"isPattern": "false",
"id": "Queue.optimizer_queue",
"attributes": [
{
"name": "volume",
"type": "integer",
"value": "4"
}
]
}
],
"updateAction": "APPEND"
}
我有一个订阅,它应该将这些事件(当卷更改时)发送到CEP进行处理
{
"entities": [
{
"type": "Queue",
"isPattern": "true",
"id": "Queue.*"
}
],
"attributes": [
"volume"
],
"reference": "http://<cep-host>:8080/ProtonOnWebServer/rest/events",
"duration": "P1M",
"notifyConditions": [
{
"type": "ONCHANGE",
"condValues": [
"volume"
]
}
],
"throttling": "PT1S"
}
Orion是否可以发送所有已更改元素的更新 解决方案就是移除节流阀。节流适用于整个订阅,而不仅仅适用于匹配模式中的单个对象
POST http://localhost:1028/accumulate
Content-Length: 741
User-Agent: orion/0.24.0 libcurl/7.19.7
Host: localhost:1028
Accept: application/xml, application/json
Content-Type: application/xml
<notifyContextRequest>
<subscriptionId>5645bb21abde60e23096acef</subscriptionId>
<originator>localhost</originator>
<contextResponseList>
<contextElementResponse>
<contextElement>
<entityId type="Queue" isPattern="false">
<id>Queue.routes_queue</id>
</entityId>
<contextAttributeList>
<contextAttribute>
<name>volume</name>
<type>integer</type>
<contextValue>4</contextValue>
</contextAttribute>
</contextAttributeList>
</contextElement>
<statusCode>
<code>200</code>
<reasonPhrase>OK</reasonPhrase>
</statusCode>
</contextElementResponse>
</contextResponseList>
</notifyContextRequest>
=======================================
::1 - - [13/Nov/2015 10:29:05] "POST /accumulate HTTP/1.1" 200 -