{{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第三方库


热门话题
AmazonS3查找从S3forJava下载的压缩文件的MIME类型   java如何使用Selenium在<span>中查找具有特定文本的元素   python如何使用OpenIEDemo生成自定义三元组。由stanfordnlp提供的java   java遇到“方法不适用”编译错误   java如何使用Mockito在Looper中运行的验证代码。getMainLooper?   类Java目录错误   java在已知其他泛型信息时使用原始类型   java connect()和disconnect()在哪里实现?   java使用PDF Box库拆分PDF,生成的PDF几乎与源PDF文件大小相同   java PowerMockito返回错误的对象   java如何找到TIBCO集合消息的字节编码?   java Basic音乐播放器下一步和上一步按钮   添加模块描述符时,java没有名为“entityManagerFactory”的bean可用   java为什么我的代码不是线程安全的?   eclipse java。引用项目中的类的lang.NoClassDefFoundError