Python 未使用CKAN API正确更新文件

Python 未使用CKAN API正确更新文件,python,api,ckan,Python,Api,Ckan,在使用API将我的资源更新到CKAN时,是否有方法获得错误或调试 使用下一个链接创建后: 除了文件没有正确更新外,一切都很正常。 描述、姓名等。。效果很好,数据集的时间得到了正确更新,但文件没有更新 这是我对demo.ckan.org使用的代码: resource_dict_excel = {'id': '07153b0a-f330-4235-b28a-21bdfe8ff9ca', 'url':'http://myserver/ckan_api/pub

在使用API将我的资源更新到CKAN时,是否有方法获得错误或调试

使用下一个链接创建后:

除了文件没有正确更新外,一切都很正常。 描述、姓名等。。效果很好,数据集的时间得到了正确更新,但文件没有更新

这是我对demo.ckan.org使用的代码:

resource_dict_excel = {'id': '07153b0a-f330-4235-b28a-21bdfe8ff9ca',
                     'url':'http://myserver/ckan_api/public_html/test-excel.xls',
                     'format':'XLS', 
                     'description':'Descripción excel'}

    requests.post('http://demo.ckan.org/api/3/action/resource_update',
              json=resource_dict_excel,
              headers={"Authorization": "b2367ca2-567c-46b4-b714-67632ef906d5"})
    print resource_dict_excel
更新

url="http://myserver/ckan_api/public_html/producction.xls"
f = urllib2.urlopen(url)
data = f.read()



requests.post('http://myckanserver/api/3/action/resource_update',
              data={"package_id":"90bc25e0-be1d-49a4-8e3a-c43d945bb9c1"},
              headers={"X-CKAN-API-Key": "2b367c89-924d-4086-8d76-1e6672bb0c23"},
              files=[('upload', data)])
作品正确


谢谢

您可以在“粘贴服务”命令上查看所有输出日志。
根据您使用的安装过程,日志将在“/var/log/ckan”或“/var/log/apache2”中提供。

您可以在命令“粘贴服务”中检查所有输出日志。
根据您使用的安装过程,日志将在“/var/log/ckan”或“/var/log/apache2”中提供。

我认为这里有多种情况:

  • 你不能只更新一个认为是文件的CKAN资源的URL。返回的链接是一个内部链接,它返回为资源上载的文件。我确实想知道为什么它没有返回任何东西(未找到文件)-你说文件保持不变,还是你只是指URL
  • 无法通过指定URL导入文件。在某些CKAN(Datapusher)上有一种机制,可以获取URL并将内容(表格数据,如XLS)存储在数据库中,但这是不同的。要在Python中将文件上载到CKAN,需要将其指定为文件数据,而不是URL。有一个例子-它可能也适用于资源更新

我认为这里发生了很多事情:

  • 你不能只更新一个认为是文件的CKAN资源的URL。返回的链接是一个内部链接,它返回为资源上载的文件。我确实想知道为什么它没有返回任何东西(未找到文件)-你说文件保持不变,还是你只是指URL
  • 无法通过指定URL导入文件。在某些CKAN(Datapusher)上有一种机制,可以获取URL并将内容(表格数据,如XLS)存储在数据库中,但这是不同的。要在Python中将文件上载到CKAN,需要将其指定为文件数据,而不是URL。有一个例子-它可能也适用于资源更新

你好。在/var/log/apache2、/var/log/jetty、/var/log/nginx和/var/log/ckan中未生成任何内容不存在。。。谢谢您采用哪种安装方式?你能寄给我吗?尝试通过端口5000运行CKAN服务器。尝试使用此命令启动服务器:su-s/bin/bash-ckan-c“/usr/lib/ckan/default/bin/activate&&paster-service--reload/etc/ckan/default/development.ini”Hi。在/var/log/apache2、/var/log/jetty、/var/log/nginx和/var/log/ckan中未生成任何内容不存在。。。谢谢您采用哪种安装方式?你能寄给我吗?尝试通过端口5000运行CKAN服务器。尝试使用此命令启动服务器:su-s/bin/bash-ckan-c.“/usr/lib/ckan/default/bin/activate&&paster-service--reload/etc/ckan/default/development.ini”我已经尝试回答了下面的问题,但它会帮助您准确地创建资源(也是在Python中?)以及是否曾经上载过文件并可以下载,或者您只是指定了一个URL。是否使用Data Explorer?您的配置是否将文件发送到数据库,以便您可以预览和筛选它?您是否使用该界面成功上载了此文件?我已尝试在下面回答,但这将有助于您准确地创建资源(也使用Python?),以及是否曾经上载并可以下载文件,或者您只是指定了一个URL。您是否使用Data Explorer?您的配置是否将文件发送到数据库,以便您可以预览和筛选它?您是否使用该界面成功上载此文件?