Я работаю с Orion Context Broker версии 0.25.0.
Если я загружаю брокер контекста только контекстными сущностями и ищу сущности в определенной области, все, кажется, работает нормально:
(curl localhost:1026/v1/queryContext?limit=100 -s -S --header 'Content-Type: application/json' --header 'Accept: application/json' -d @- | python -mjson.tool) <<EOF
{
"entities":[
{
"type":"Dispositivo_tmp",
"isPattern":"true",
"id":".*"
}
],
"restriction": {
"scopes": [
{
"type": "FIWARE::Location",
"value": {
"circle": {
"centerLatitude": "43.322361",
"centerLongitude": "-1.983222",
"radius": "1500"
}
}
}
]
}
}
EOF
Я получаю ответ с объектами контекста, расположенными в этой области:
...
{
"contextElement": {
"attributes": [
{
"metadatas": [
{
"name": "location",
"type": "string",
"value": "WGS84"
}
],
"name": "position",
"type": "coords",
"value": "43.3221, -1.9831"
},
{
"name": "pressure",
"type": "integer",
"value": "1"
},
{
"name": "temperature",
"type": "float",
"value": "25"
}
],
"id": "CE_5.1",
"isPattern": "false",
"type": "Dispositivo_tmp"
},
"statusCode": {
"code": "200",
"reasonPhrase": "OK"
}
}
]
}
И если в указанной области нет элементов, я получаю ожидаемый ответ:
{
"errorCode": {
"code": "404",
"reasonPhrase": "No context element found"
}
}
Проблема возникает, если я загружаю брокер контекста также с регистрациями контекста. Если у меня есть как сущности контекста, так и регистрации контекста в брокере контекста, и я проверяю сущности контекста в области, которая, как мне известно, пуста, я не получу никакого ответа или получу этот:
{
"errorCode": {
"code": "200",
"reasonPhrase": "OK"
}
}
И кажется, что чем больше количество контекстных регистраций, загруженных в брокер контекста, тем больше времени требуется для получения (отрицательного) ответа от системы.
В том же сценарии нет проблем, если я ищу сущности контекста в области с элементами. В этом случае я получу правильный ответ.
Есть ли во всем этом смысл?
Спасибо