Подписка на Cygnus в случае, если контекст Orion не работает.
Я проверил базовый механизм подписки Orion, установив экземпляр Cygnus в качестве ссылки, и он работает хорошо: как только Orion получает updateContext моей сущности, он запускает уведомление Cygnus, которое сохраняет данные в базу данных по умолчанию mySQL db.
Но если я добавлю следующие заголовки в подписку:
fiware-service: sat Fiware-ServicePath: / proto1
чтобы сохранить данные в другой базе данных MySQL, Orion принимает подписку, но не отправляет Cygnus никаких уведомлений.
Я попытался добавить те же заголовки к вызову updateContext REST, но безуспешно. Любая идея?
PS:
Орион версия 0.22
Cygnus версия 0.8
1 ответ
Я обнаружил проблему: заголовки должны быть вставлены также при регистрации объекта (*). Итак, правильная последовательность операций:
1) Во-первых, зарегистрируйте свою сущность с помощью вызова POST /NGSI10/updateContext, указав в действиях "APPEND" updateAction в полезной нагрузке и включив заголовки "fiware-service" и "fiware-servicepath".
2) Создайте подписку (/ngsi10/subscribeContext) для Orion, включая точно такие же заголовки, как указано выше.
3) Обновите свою сущность, включая заголовки выше
(*) Поскольку я использовал Data Handling GE в качестве источника NGSI и Orion в качестве приемника событий, обновления для моих сущностей запускались непосредственно Data Handling GE при определенных условиях, установленных правилом / оператором esper. Похоже, что Data Handling GE не добавляет заголовки при обновлении приемников событий.