import ckanapi
try:
ckan = ckanapi.RemoteCKAN(serverurl,
apikey='myapikeyhere',
user_agent='useragenthere')
res = ckan.action.resource_create(
package_id='2ad3c9de-502c-403a-8b03-bfc619697ff2',
#url='url',
#revision_id='revid',
description='my first upload with CKANAPI',
upload=open('./upload.csv')
)
except Exception as e:
raise Exception(str(e.error_dict))
它失败的原因是:
Field errors: {u'url': [u'Missing value'], u'__type': u'Validation Error'}
他们将url作为GitHub讨论中的必需属性: https://github.com/ckan/ckan/pull/1641
那么url属性的期望值是多少? 如果它期望本地文件的url,则不托管它。 我不能在CKAN上提供文件的url,因为resourceid还没有创建。在
PS:当为url属性传递任意值时,上传成功。 要求url属性是没有意义的。有人能解释吗?在
在我看来,这是CKAN的一个缺陷。我在https://github.com/ckan/ckan/issues/2769上创建了一个问题来跟踪它。我还在ckanapi上编写了一个pull请求,将这个bug抽象到https://github.com/ckan/ckanapi/pull/74。在
同时,作为一种解决方法,您可以将
url
设置为空字符串。在相关问题 更多 >
编程相关推荐