尝试将文件上载到CKAN时出错:“无法获取存储上载凭据。上载无法继续”

时间:2012-12-20 11:52:36

标签: ckan

尝试将文件上传到CKAN中的数据集时,我在网络界面中收到此错误:

Failed to get credentials for storage upload. Upload cannot proceed

2 个答案:

答案 0 :(得分:9)

此错误通常是由CKAN的FileStore未正确设置或FileStore的依赖项未正确安装引起的。请参阅CKAN的FileStore and File Uploads文档。

确保:

  • 您在CKAN virtualenv(pairtree)中安装了pip install pairtree

  • 您在CKAN virtualenv(argparse)中安装了pip install argparse

  • 您在CKAN ini文件的ofs.impl部分中正确设置了ofs.storage_dir[app:main]选项,例如:

    ofs.impl = pairtree
    ofs.storage_dir = /mnt/datalocale
    
  • 确保您的ofs.storage_dir目录存在。在shell中运行此命令:mkdir -p /path/to/your/ofs/storage/dir

  • 确保CKAN运行的操作系统用户(例如用户www-data,如果您在Ubuntu上运行带有Apache的CKAN)具有ofs.storage_dir的读写权限。例如,如果您在Ubuntu上使用Apache运行CKAN,请在终端中运行以下命令:

    sudo chown www-data /path/to/your/ofs/storage_dir
    sudo chmod u+rwx /path/to/your/ofs/storage_dir
    sudo service apache2 restart
    

如果上述所有操作都失败,请使用此CKAN tag on StackOverflowckan-dev mailing list寻求帮助。发布时,包含以下内容非常有用:

  • 您正在使用的操作系统
  • 您正在使用的CKAN版本
  • 您如何部署CKAN(软件包安装或源代码安装?Apache Web服务器或贴片开发安装?)
  • 您的CKAN ini文件(删除了任何敏感信息)
  • 您从CKAN运行的任何错误,无论是从运行paster serve ...的终端,还是从Apache运行CKAN,都来自/var/log/apache2/YOURSITE.error.log等日志文件。如果你能给我们一个完整的Python回溯,这通常是最有用的东西。
  • 在CKAN virtualenv中运行时pip freeze命令的输出。

答案 1 :(得分:0)

如果较旧的答案没有成功,那么你可能没有另外一个选项来检查,特别是如果你没有在根网址(/)运行CKAN,是否或没有正确设置ckan.api_url。此配置不会从ckan.site_url(应该是)自动设置,如果CKAN安装在子路径上,例如/ ckan /,则任何来自Javascript的API调用都将失败。要尝试的其他配置是将ckan.api_url设置为与ckan.site_url相同。