2016-06-27 3 views
1

My UseCase: В Cumulocity многие события из Устройства собираются и обрабатываются с помощью сценариев «Cumulocity Event Language». Теперь мне нужно, чтобы эти данные обрабатывались далее в некоторых системах backoffice и Analysis. Моя идея состоит в том, чтобы выталкивать данные с помощью CEL-скрипта с временным окном в эти «внешние» системы, написав собственную (например, функцию JavaScript) (см. «https://www.cumulocity.com/guides/event-language/advanced/») и ПОСЛАТЬ собранные данные с помощью вызова REST на этот систем (которые должны иметь подходящий сервис).Отправлять обработанные данные из правила CEL в Cumulocity в внешнюю службу REST

Вопрос: 1) Может ли эта идея работать? 2) Могу ли я загружать вспомогательные библиотеки (в JS в моем случае) в модуль CEL? 3) Могу ли я повторить попытку Pushing, если он не сработает?

Благодаря MB

ответ

1

Вы не можете создавать запросы непосредственно из КВЖД, но есть и другие способы для достижения этой цели:

  1. Вы можете использовать Zapier для пересылки данных на другой REST службы (Проверьте Приложение «Webhooks by Zapier» в Запыре). Вот некоторые введение, как соединить Cumulocity с Zapier http://cumulocity.com/guides/users-guide/saas-integration/ (Проверьте «данные магазин CEL в Google Spreadsheet». Например, если вы замените Google Spreadhsheets с Webhooks приложение должно быть то, что вы ищете)

  2. Вы можете реализовать ваш собственный разъем. Выход каждого оператора CEL доступен в API уведомления в реальном времени (http://cumulocity.com/guides/reference/real-time-statements/#notifications). Вы можете подключиться туда и переслать полученные данные в службу REST. Это более или менее также то, как работает соединитель Zapier. Здесь вы также можете добавить повторную логику для неудачных попыток.

Я бы порекомендовал вас начать с Zapier. Вы можете прототип своей идеи очень быстро, и для тестирования бесплатной версии Zapier должно быть достаточно. Если это не подходит всем, что вы можете переключить, чтобы сделать это с помощью собственной реализации.

+0

Спасибо. Как я понимаю, механизм основан на «Байе»; Вариант использования этого протокола: «plaease немедленно сообщите мне, если произойдет какое-то событие со временем»; он выполняет http-long-polling, чтобы это понять. Но мой вариант использования: «пришлите мне все ** измерения - возможно 1k/s - в мой сервис REST. Итак, мой вопрос: * делает ли это масштаб «Baye: ux protocol» по горизонтали? Я ожидаю, что многие серверы C8y и многие из моих Backoffice Severs ... * Могу ли я создать экземпляр многих клиентов Bayeux одновременно? * если да: каждое событие передается только один раз? * Что делать, если передача ломается «посередине»? – mbader

+0

Да, есть кластерное решение в CometD под названием Oort. Вы можете, конечно, подключить столько клиентов, сколько хотите, но если вы подписаны на одни и те же каналы, все клиенты получат все, чтобы вам пришлось разделить подписки. Для обеспечения передачи данных CometD имеет расширение подтверждения сообщения – TyrManuZ