4

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

Failed to get credentials for storage upload. Upload cannot proceed
4

2 回答 2

9

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

确保:

  • 你已经pairtree安装在你的 CKAN virtualenv ( pip install pairtree)

  • 你已经argparse安装在你的 CKAN virtualenv ( pip install argparse)

  • 您在CKAN ini 文件的部分中正确设置了ofs.implofs.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
    

如果以上所有方法都失败了,那么请使用StackOverflow 上的 CKAN 标签ckan-dev 邮件列表寻求帮助。发布时,包括以下内容很有用:

  • 您使用的是什么操作系统
  • 您使用的是什么版本的 CKAN
  • 您是如何部署 CKAN 的(包安装或源代码安装?Apache 网络服务器或粘贴开发安装?)
  • 您的 CKAN ini 文件(已删除任何敏感细节)
  • 您从 CKAN 获得的任何错误,无论是来自您正在运行的终端,paster serve ...还是如果您使用 Apache 运行 CKAN,来自日志文件(例如/var/log/apache2/YOURSITE.error.log. 如果你能给我们一个完整的 Python 回溯,这通常是最有用的。
  • pip freeze在 CKAN virtualenv 中运行时的命令输出。
于 2012-12-20T11:52:36.423 回答
0

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

于 2013-08-16T21:58:23.390 回答