Я работаю с версией 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"
}
}
И кажется что чем больше количество регистраций контекста, загружаемых в брокер контекста, тем больше времени требуется для получения (отрицательного) ответа от системы.
В том же сценарии нет проблем, если я ищу объекты контекста в области с элементами. В этом случае я получу правильный ответ.
Есть ли смысл в этом?
Благодаря
Я понимаю, что часть под «EDIT» является фактическим ответом на вопрос. Таким образом, я предлагаю вырезать и вставить его в правильный ответ ниже (StackOverflow позволяет отвечать на вопросы). Благодаря! – fgalan
Кроме того, для ясности укажите пример неправильного URL-адреса и исправьте его. Это было бы прекрасно! – LeandroGuillen