尝试将文件上传到 CKAN 中的数据集时,我在 Web 界面中收到此错误:
Failed to get credentials for storage upload. Upload cannot proceed
尝试将文件上传到 CKAN 中的数据集时,我在 Web 界面中收到此错误:
Failed to get credentials for storage upload. Upload cannot proceed
此错误通常是由于 CKAN 的 FileStore 未正确设置或 FileStore 的依赖项未正确安装引起的。请参阅 CKAN 的FileStore 和 File Uploads文档。
确保:
你已经pairtree安装在你的 CKAN virtualenv ( pip install pairtree)
你已经argparse安装在你的 CKAN virtualenv ( 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
如果以上所有方法都失败了,那么请使用StackOverflow 上的 CKAN 标签或ckan-dev 邮件列表寻求帮助。发布时,包括以下内容很有用:
paster serve ...还是如果您使用 Apache 运行 CKAN,来自日志文件(例如/var/log/apache2/YOURSITE.error.log. 如果你能给我们一个完整的 Python 回溯,这通常是最有用的。pip freeze在 CKAN virtualenv 中运行时的命令输出。如果较旧的答案不起作用,那么您可能没有另一个选项来检查,特别是如果您没有在根 url (/) 上运行 CKAN,是否ckan.api_url是正确设置。此配置不会自动设置ckan.site_url(它应该是),如果 CKAN 安装在子路径上,例如 /ckan/,则从 Javascript 进行的任何 API 调用都将失败。要尝试的其他配置是设置ckan.api_url为与ckan.site_url.