【发布时间】:2016-02-20 05:23:45
【问题描述】:
您好,我一直在尝试按照http://docs.ckan.org/en/latest/api/ 的文档,通过 python 的 urllib2 使用 ckan api 调用导入数据集 我正在运行的代码是 `
#!/usr/bin/env python
import urllib2
import urllib
import json
import pprint
dataset_dict = {
'name': 'my_dataset_name5',
'notes': 'A long description of my dataset',
}
data_string = urllib.quote(json.dumps(dataset_dict))
request = urllib2.Request(
'http://<ckan server ip>/api/action/package_create')
request.add_header('Authorization', 'my api key')
response = urllib2.urlopen(request, data_string)
assert response.code == 200
response_dict = json.loads(response.read())
assert response_dict['success'] is True
created_package = response_dict['result']
pprint.pprint(created_package)`
但是它给出了以下错误:
Traceback(最近一次调用最后一次):文件“autodatv2.py”,第 26 行,在 response = urllib2.urlopen(request, data_string)File “/usr/lib64/python2.7/urllib2.py”,第 154 行,在 urlopen 返回 opener.open(url,数据,超时)文件“/usr/lib64/python2.7/urllib2.py”, 第 437 行,打开响应 = meth(req, response)File “/usr/lib64/python2.7/urllib2.py”,第 550 行,在 http_response 'http' 中, 请求、响应、代码、味精、hdrs)文件 “/usr/lib64/python2.7/urllib2.py”,第 475 行,错误返回 self._call_chain(*args) 文件“/usr/lib64/python2.7/urllib2.py”,行 409、在_call_chain result = func(*args) 文件中 “/usr/lib64/python2.7/urllib2.py”,第 558 行,在 http_error_default 中 引发 HTTPError(req.get_full_url(), 代码, msg, hdrs, fp) urllib2.HTTPError: HTTP 错误 409: 冲突
我在 Amazon ec2 实例上运行 CKAN 2.4 版和 python 2.7.10,并且 echo $HTTP_PROXY 什么也没显示,所以我假设它不是代理问题.. 有人可以提供任何帮助来解决这个问题
【问题讨论】:
标签: python-2.7 ckan