Протокол NGSI учитывает возможность указания ограничений на подписки. Таким образом, операция subscribeContext поддерживает ограничение FIWARE :: Location для подписок.
Итак, ответ: да.
Пример
Создайте объект с помощью POST queryContext:
{
"contextElements": [
{
"type": "City",
"isPattern": "false",
"id": "Madrid",
"attributes": [
{
"name": "position",
"type": "coords",
"value": "1, 1",
"metadatas": [
{
"name": "location",
"type": "string",
"value": "WGS84"
}
]
},
{
"name": "a1",
"type": "string",
"value": "v1"
}
]
}
],
"updateAction": "APPEND"
}
Подпишитесь на изменения в области с помощью POST subscribeContext:
{
"entities": [
{
"type": "City",
"isPattern": "true",
"id": ".*"
}
],
"attributes": [
"a1"
],
"reference": "http://<host>:<port>/notify",
"duration": "P1M",
"notifyConditions": [
{
"type": "ONCHANGE",
"condValues": [
"a1"
]
}
],
"restriction": {
"scopes": [
{
"type" : "FIWARE::Location",
"value" : {
"polygon": {
"vertices": [
{
"latitude": "0",
"longitude": "0"
},
{
"latitude": "0",
"longitude": "6"
},
{
"latitude": "6",
"longitude": "6"
},
{
"latitude": "6",
"longitude": "0"
}
]
}
}
}
]
}
}
А затем просто обновите значение a1 объекта и посмотрите, что произойдет.
person
LeandroGuillen
schedule
16.04.2015