FIWARE 上下文代理将所有数据存储到 mongodb

FIWARE context broker storing all data to mongodb

我已经安装了 fiware context broker,我正在使用 localhost:1026/v1/updateContext 端点向它发送数据。

一切正常,我能够获取并可视化正在发送的数据。由于 orion 是代理服务,因此只能接收最新的实体。

问题:我需要将历史数据自动保存到mongo db 数据库中。 Orion 仅保存最新的 2 个条目。 STH 和 Cygnus 没有完成这项工作,因为它们在发送数据和收集、存储等方面需要大量配置。

有没有办法自动保存所有发送到 orion 的数据?并按服务 ID 对它们进行分组?

提前致谢。

恐怕只有通过STH、QuantumLeap(孵化的GE)或Cygnus才能在FIWARE中存储历史数据。

配置它们并不难。请遵循这些教程:

https://github.com/Fiware/tutorials.Historic-Context

https://github.com/Fiware/tutorials.Time-Series-Data

https://github.com/Fiware/tutorials.Short-Term-History

http://fiwaretourguide.readthedocs.io/en/latest/generating-historical-context-information-sth-comet/how-to-generate-the-history-of-Context-Information-using-STH-Comet/

http://fiwaretourguide.readthedocs.io/en/latest/storing-data-cygnus-mysql/how-to-store-data-cygnus-mysql/

准确地说,协调上下文实体历史数据的持久化是CYGNUS Generic Enabler 的目的。然后您可以使用 STH 存储最近一段时间的历史数据,或者选择其他一些替代方案,例如 Cosmos 用于大数据。

你可以在官方中找到 documentation of cygnus, examples of configuration files in order to persist data for STH. In addition, if you are familiar with MongoDB, here 是 Mongodb Sink 的官方文档,其中包含不同持久性配置的示例。

如果您能给我更多有关如何配置 Cygnus 和 STH 的信息,我可以为您提供更多帮助。

此致!

解决方案 玩弄上下文代理,我改变了 orion 将数据存储到自动生成的 mongodb 的方式。当向 orion 发送数据时,json 的 id 将始终是服务路径、json 的 id 和类型。因此,新数据会被覆盖。我们需要通过在 id 中添加另一个元素来更改它,该元素是增量的,因此保存了新条目。我不确定这是否是一个笨拙的解决方案,但肯定更具可扩展性,因为我们不需要订阅。