跳转到主要内容

{{ 描述 }}

项目描述

Travis
Coveralls
PyPi
SemVer
Gitter

Data Package Pipelines 处理器,用于CKAN

安装

# clone the repo and install it with pip

git clone https://github.com/frictionlessdata/datapackage-pipelines-ckan.git
pip install -e .

用法

datapackage-pipelines-ckan 包含几个用于处理 CKAN 的管道处理器。

ckan.add_ckan_resource

一个处理器,用于从 CKAN 实例检索 CKAN 资源的相关元数据并将其添加为数据包资源。

run: ckan.add_ckan_resource
parameters:
  ckan-host: http://demo.ckan.org
  resource-id: d51c9bd4-8256-4289-bdd7-962f8572efb0
  ckan-api-key: env:CKAN_API_KEY  # an env var defining a ckan user api key
  • ckan-host:CKAN 实例的基本 URL(和方案)(例如 http://demo.ckan.org)。

  • resource-id:CKAN 资源的 ID

  • ckan-api-key:CKAN 用户 API 密钥,或格式为 env:CKAN_API_KEY_NAME 的环境变量,该环境变量定义了 API 密钥。可选,但对于私有数据集是必需的。

ckan.dump.to_ckan

一个处理器,用于将数据包和资源保存到指定的 CKAN 实例。

run: ckan.dump.to_ckan
parameters:
  ckan-host: http://demo.ckan.org
  ckan-api-key: env:CKAN_API_KEY
  overwrite_existing: true
  push_resources_to_datastore: true
  dataset-properties:
    name: test-dataset-010203
    state: draft
    private: true
    owner_org: my-test-org
  • ckan-host:CKAN 实例的基本 URL(和方案)(例如 http://demo.ckan.org)。

  • ckan-api-key:可以是CKAN用户API密钥,或者如果格式为env:CKAN_API_KEY_NAME,则是一个定义API密钥的环境变量。

  • overwrite_existing:如果设置为true,则当CKAN数据集已存在时,它将被数据包覆盖。这是可选的,默认值为false

  • push_resources_to_datastore:如果设置为true,则新创建的资源将被推送到CKAN数据存储。这是可选的,默认值为false

  • push_resources_to_datastore_method:值为字符串,可以是‘upsert’、‘insert’或‘update’之一。这将是添加数据到数据存储所使用的方法(参见https://ckan.readthedocs.io/en/latest/maintaining/datastore.html#ckanext.datastore.logic.action.datastore_upsert)。这是可选的,默认值为‘insert’。

  • dataset-properties:一个可选对象,其属性将被用于设置CKAN数据集的属性。

从数据包创建CKAN数据集

处理程序首先根据数据包规范创建CKAN数据集,使用CKAN API `package_create` <http://docs.ckan.org/en/latest/api/#ckan.logic.action.create.package_create>。如果数据集已存在,并且参数overwrite_existing设置为True,则处理程序将尝试使用`package_update` <http://docs.ckan.org/en/latest/api/#ckan.logic.action.update.package_update>更新CKAN数据集。所有现有资源和数据集属性都将被覆盖。

从数据包资源创建CKAN资源

如果CKAN数据集已成功创建或更新,将使用`resource_create` <http://docs.ckan.org/en/latest/api/#ckan.logic.action.create.resource_create>为数据包中的每个资源创建数据集资源。如果数据包资源标记为流式传输(它们有dpp:streamed=True属性),则资源文件将被上传到CKAN文件存储。例如,远程资源可以通过在管道中较早地包含stream_remote_resources处理程序来标记为流式传输。

此外,如果push_resources_to_datastore设置为True,则处理程序将使用`datastore_create` <https://ckan.readthedocs.io/en/latest/maintaining/datastore.html#ckanext.datastore.logic.action.datastore_create>`datastore_upsert` <https://ckan.readthedocs.io/en/latest/maintaining/datastore.html#ckanext.datastore.logic.action.datastore_upsert>将标记为流式传输的资源推送到CKAN数据存储。

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

datapackage-pipelines-ckan-0.0.2b0.tar.gz (93.6 kB 查看散列)

上传时间

构建分发

datapackage_pipelines_ckan-0.0.2b0-py2.py3-none-any.whl (10.8 kB 查看哈希值)

上传时间 Python 2 Python 3

支持