У меня есть одно сомнение относительно того, как сохранять данные в архитектуре, где Cygnus подписан на Orion Context Broker, а затем Cygnus должен сохранять данные в Cosmos. Нужно ли реализовывать собственный клиент WebHDFS для сохранения данных из Cygnus в Cosmos или они могут автоматически сохраняться, если мы настроим Cosmos через интерфейс командной строки? Прочитав некоторую документацию, я не знаю, можно ли выполнить этот «последний шаг» с помощью настройки с помощью CLI или нужен собственный клиент. Когда может не понадобиться собственный клиент WebHDFS?
Хранить в Cosmos данные, поступающие с Ориона на Лебедь
Ответы (1)
Как уже говорилось, Cygnus подписывается на Orion, чтобы получать уведомления об определенных желаемых сущностях при изменении любого из их атрибутов.
Что происходит тогда? Cygnus использует REST API WebHDFS для записи данных в Cosmos HDFS, обычно это файл для каждого уведомленного объекта. Изначально, если файл не закрывается, используется операция «создать» из REST API; если он уже существует, используется операция «добавить».
Где создаются вышеуказанные файлы? Путь к файлам Cygnus HDFS:
/user/<your_cosmos_username>/<notified_fiware_service>/<notified_fiware_servicePath>/<built_destination>/<built_destination>.txt
notified_fiware_service
и notified_fiware_servicePath
— это заголовки Http, отправляемые Orion в уведомлении; они о том, как организовать данные. built_destination
обычно является результатом объединения уведомленных entityId
и entityType
.
Наконец, your_cosmos_username
— это ваше имя пользователя Linux и HDFS в развертывании FIWARE LAB Cosmos. Это достигается путем входа в систему с вашими учетными данными FIWARE LAB на http://cosmos.lab.fi-ware.org/cosmos-gui/. Вы должны сделать это только один раз в жизни; это, скажем, шаг подготовки, который создает имя пользователя Unix и ваше пользовательское пространство HDFS.