Подписка на 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 не добавляет заголовки при обновлении приемников событий.

Другие вопросы по тегам