将来自 Orion 到 Cygnus 的数据存储在 Cosmos 中

Store in Cosmos data coming from Orion to Cygnus

我对如何在 Cygnus 订阅 Orion Context Broker 的架构中持久化数据有疑问,然后 Cygnus 必须在 Cosmos 中持久化数据。是否有必要实现自定义 WebHDFS 客户端以将数据从 Cygnus 持久保存到 Cosmos,或者如果我们通过 CLI 配置 Cosmos 是否可以自动存储?在阅读了一些文档后,我不知道这个 "last step" 是否可以通过使用 CLI 的配置来完成,或者是否需要自定义客户端。什么时候不需要自定义 WebHDFS 客户端?

如前所述,Cygnus 订阅 Orion 以便在某些所需实体的任何属性发生变化时接收通知。

然后会发生什么? Cygnus 使用 WebHDFS REST API 将数据写入 Cosmos HDFS,通常是每个通知实体一个文件。最初,如果文件不存在,则使用来自 REST API 的 "create" 操作;如果它已经存在,则使用 "append" 操作。

以上文件是在哪里创建的? Cygnus HDFS 文件路径为:

/user/<your_cosmos_username>/<notified_fiware_service>/<notified_fiware_servicePath>/<built_destination>/<built_destination>.txt

notified_fiware_servicenotified_fiware_servicePath是Orion在通知中发送的Http头;他们是关于如何组织数据的。 built_destination 通常是连接通知的 entityIdentityType.

的结果

最后,your_cosmos_username 是您在 FIWARE LAB Cosmos 部署中的 Linux 和 HDFS 用户名。这是通过在 http://cosmos.lab.fi-ware.org/cosmos-gui/ 使用您的 FIWARE LAB 凭据登录获得的。您一生中只需要这样做一次;比方说,这是一个创建 Unix 用户名和您的 HDFS 用户空间的配置步骤。