{{description}}

datapackage-pipelines-ckan的Python项目详细描述


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 .

用法

数据包管道ckan包含多个用于 与CKAN合作

ckan.add_ckan_resource

从ckan检索有关ckan资源的元数据的处理器 实例并将其添加为数据包资源

run:ckan.add_ckan_resourceparameters:ckan-host:http://demo.ckan.orgresource-id:d51c9bd4-8256-4289-bdd7-962f8572efb0ckan-api-key:env:CKAN_API_KEY# an env var defining a ckan user api key
  • ckan-host:CKAN实例(例如。 http://demo.ckan.org)。
  • resource-id:ckan资源的id
  • ckan-api-key:一个ckan用户api密钥,或者,如果格式为 env:CKAN_API_KEY_NAME,一个定义api密钥的env变量。 可选,但对于私有数据集是必需的

ckan.dump.to_ckan

将数据包和资源保存到指定ckan的处理器。 实例

run:ckan.dump.to_ckanparameters:ckan-host:http://demo.ckan.orgckan-api-key:env:CKAN_API_KEYoverwrite_existing:truepush_resources_to_datastore:truedataset-properties:name:test-dataset-010203state:draftprivate:trueowner_org:my-test-org
  • ckan-host:CKAN实例(例如。 http://demo.ckan.org)。
  • ckan-api-key:一个ckan用户api密钥,或者,如果格式为 env:CKAN_API_KEY_NAME,一个定义api密钥的env变量。
  • overwrite_existing:如果true,如果ckan数据集已经 存在,它将被DATAPACKAGE覆盖。可选,以及 默认值为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)。 可选,默认值为“插入”。
  • dataset-properties:可选对象,其属性 将用于设置ckan数据集的属性。

数据包中的ckan数据集

处理器首先从数据包创建一个CKAN数据集 规范,使用ckan api `package_create<;http://docs.ckan.org/en/latest/api/#ckan.logic.action.create.package_create>;``。 如果数据集已经存在,并且参数^ {TT10}$是 True,处理器将尝试使用 `package_update<;http://docs.ckan.org/en/latest/api/#ckan.logic.action.update.package_update>;``。 所有的现有资源和数据集属性都将被覆盖。

来自数据包资源的ckan资源

如果成功创建或更新了ckan数据集,则 将为数据包中的每个资源创建资源,使用 `resource_create<;http://docs.ckan.org/en/latest/api/#ckan.logic.action.create.resource_create>;``。 如果数据包资源被标记为流式处理(它们具有 dpp:streamed=Trueproperty),资源文件将上载到 ckan文件存储。例如,远程资源可以标记为 包含stream_remote_resources处理器的流式处理 早些时候还在酝酿中。

另外,如果push_resources_to_datastoreTrue,则 处理器将标记为流式传输的资源推送到ckan数据存储 使用 `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>;``。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用Kotlin值类   在Hadoop中表示大文本块作为键的java   java安卓工作室;布局设计视图;   字典Java确定字符串是否以映射中的键开头   JavaG1:混合gc和完全gc之间有什么区别?   java Camunda升级组织。阿帕奇。平民语言错误   java Scanner类具有NextLine无限循环   安卓 GCM Java服务器:发送带有重音字符的消息   java我正在构建一个兴趣计算应用程序,我的项目构建良好,有1个警告,但它不会在我的设备上打开   java在Tilera TileGX上构建OpenJDK 8   GUI中的java惰性初始化与急切初始化   java JodaTime四舍五入到最近的一刻钟   java如何限制菜单。SpringRoo中的jspx可以避免对其他用户的实体执行CRUD操作   java我应该将缓冲流链接到输入流,还是在将声音库作为嵌入式资源加载时使用URL类?