尝试将文件上传到 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
.