Cygnus 到 CKAN - 运行时错误

Cygnus to CKAN - Runtime error

我一直在尝试在 Orion 运行 FIWARE Lab 实例中配置 cygnus。我希望实体数据日志存储在 CKAN.

我想到的第一个问题是:我能否使用 FIWARE Lab 自己的 CKAN 完成此任务,还是必须安装和配置自己的?

如果可以的话,我应该在 cygnusagent.sinks.ckan-sink.ckan_host 属性 上指定什么?我要在里面写下cosmos.lab.fiware.org吗?。

我尝试使用自己的 API 密钥(显示在“数据”选项卡 API Key 字段中的密钥)以及之前提到的主机 (cosmos.lab.fiware.org),但每当我订阅时上下文我得到以下日志 cygnus 消息:

ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (com.telefonica.iot.cygnus.sinks.OrionSink.process:178)  - Runtime error (Don't know how to treat the response code. Possibly the organization already exists in a deleted state (respCode=404, orgName=cated))

我已经做了几个测试,例如没有指定“Fiware-Service”,但遗憾的是结果总是导致同样的错误。 'organization' 概念不同于数据选项卡 (CKAN) 和 FIWARE Lab 帐户选项卡中显示的概念,不是吗?

正在尝试回答所有问题:

  • CKAN 的全局实例是 运行 在 data.lab.fiware.orgcosmos.lab.fiware.org是基于Hadoop的大数据全局实例的头节点。
  • FIWARE 的普通用户不能使用 CKAN 的全局实例来发布私有数据,它仅用于读取开放数据集。如果您有一个(已经创建并存储在其他地方)开放数据集,您可以通过联系实例管理员来发布它。
  • 因此,您必须部署自己的 CKAN 实例才能持久保存 Orion 上下文数据。
  • 关于通知上下文数据映射CKAN数据结构的方式是:
    • 根据通知fiware-service创建了一个CKAN组织。如果没有通知 fiware-service,则使用配置的 default_service 值;这是在 Cygnus 源代码中配置的。
    • 基于通知的 fiware-servicePath 创建了一个 CKAN 包(也称为数据集)。如果没有通知 fiware-servicePath,则使用配置的 default_service_path 值;这是在 Cygnus 源代码中配置的。
    • 根据通知的 entityIdentityType 创建 CKAN 资源(这些值是串联的)。还创建了与该资源相关的数据存储,即 PostgreSQL table。