FIWARE:Orion上下文代理和CKAN

FIWARE:Orion上下文代理和CKAN,fiware,fiware-orion,ckan,Fiware,Fiware Orion,Ckan,我正在使用覆盆子Pi和Figway与Orion ContextBroker合作。我的Raspberry Pi正在将数据从一些传感器发送到Fiware提供的公共上下文代理(我没有任何本地上下文代理)。此外,我有一个仪表板,显示我的传感器的信息 现在我发现Fiware有一个CKAN工具,它允许在CKAN中实时发布上下文信息作为上下文代理查询。我遵循了这一点,但我不明白如何在Orion Context Broker中将CKAN与我的设备连接起来。如何在我的实体的URL中找到一个链接 我对Fiware非

我正在使用覆盆子Pi和Figway与Orion ContextBroker合作。我的Raspberry Pi正在将数据从一些传感器发送到Fiware提供的公共上下文代理(我没有任何本地上下文代理)。此外,我有一个仪表板,显示我的传感器的信息

现在我发现Fiware有一个CKAN工具,它允许在CKAN中实时发布上下文信息作为上下文代理查询。我遵循了这一点,但我不明白如何在Orion Context Broker中将CKAN与我的设备连接起来。如何在我的实体的URL中找到一个链接

我对Fiware非常陌生,我在编写代码方面的概念还不够,但我能够学习


提前谢谢

如文件中所述:

您还可以通过提供上下文代理URL并选择fiware ngsi格式来提供动态上下文信息。选择fiware ngsi格式后,将显示三个额外字段,允许您配置用于访问上下文代理的租户和服务路径(如果数据存储在默认租户或服务路径中,则可以将其保留为空)。最后一个字段允许您指示上下文代理是否需要身份验证(有关更多详细信息,请参阅API的处理授权和访问控制教程)

注意:fiware ngsi资源始终是链接的资源,因此如果数据集是私有的,fiware ngsi必须需要身份验证令牌才能保持一致性

请看

您可以利用上下文代理支持的连接器,该连接器可在每次上下文信息发生更改时自动生成历史记录,并使这些记录可在Open Data publication GE上上载。然后,数据存储在数据存储中,可以通过RESTAPI下载和查询

为了实现这种行为,有必要部署和配置Cygnus,这是一种补充上下文代理GE的软件。安装Cygnus的说明可以在这里找到

一旦安装了Cygnus,就需要对其进行配置。简而言之,有三个步骤:配置CKAN存储、在上下文代理中创建所需的订阅以及运行该过程

此接收器将数据保存在CKAN中的数据存储中。数据存储与CKAN资源关联,作为CKAN资源,我们使用entityId entityType字符串连接。所有CKAN资源ID都属于同一个数据集(在CKAN术语中也称为包),该数据集的名称由CKAN接收器配置中的默认_dataset属性(以组织名称为前缀)指定

您还必须进行配置


我希望这能对你有所帮助。

为了补充@Dalton的答案

您试图做的是通过查询URL发布指向Orion CB的CKAN资源。CKAN资源允许这样做,即CKAN中的资源可以与存储在CKAN自身内的数据相关,或者与CKAN外部的数据相关;在这种情况下,资源包含到数据的链接

因此,让资源链接到Orion CB实体是通过CKAN查询Orion CB的一种方式。这意味着每次访问CKAN资源时,都将访问相关实体属性的当前值。如果任何实体的属性发生更改,并且您再次访问该资源,那么您将访问该新值;前一个丢失了


另一件非常不同的事情是,当您需要在CKAN本身(通过其数据存储、PostgreSQL包装)中存储您的实体一直拥有的所有值时,即当您需要存储实体的历史时。在这种情况下,您需要使用Cygnus工具。

您必须在ContextBroker中创建一个订阅,并将订阅内的端点设置为指向ckan的url,以便在更新要复制到ckan的实体或属性时,将该信息移动到ckan。您需要这样做的组件是Cygnus,然后您也必须安装Cygnus,Cygnus负责将信息传递给Ckan,此外,您必须遵循要存储在Ckan中的实体名称模式,实体名称必须为小写,并且您只能使用这两个符号连字符和下划线,没有其他人

https://fiware-tutorials.readthedocs.io/en/latest/subscriptions/index.html
https://fiwaretourguide.readthedocs.io/en/latest/core/cygnus/introduction/
https://fiware-tutorials.readthedocs.io/en/latest/index.html