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

Sea*_*ond 4 ckan

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

Failed to get credentials for storage upload. Upload cannot proceed
Run Code Online (Sandbox Code Playgroud)

Sea*_*ond 9

此错误通常是由CKAN的FileStore未正确设置或FileStore的依赖项未正确安装引起的.请参阅CKAN的FileStore和文件上载文档.

确保:

  • 你已经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
    
    Run Code Online (Sandbox Code Playgroud)
  • 确保您的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
    
    Run Code Online (Sandbox Code Playgroud)

如果上述所有方法都失败了,请在StackOverflowckan-dev邮件列表使用此CKAN标记寻求帮助.发布时,包含以下内容非常有用:

  • 您正在使用什么操作系统
  • 你正在使用什么版本的CKAN
  • 你如何部署CKAN(包安装或源安装?Apache webserver或paster development install?)
  • 您的CKAN ini文件(删除了任何敏感细节)
  • 您从CKAN获得的任何错误,无论是从您正在运行的终端,还是从paster serve ...Apache运行CKAN,都来自日志文件,例如/var/log/apache2/YOURSITE.error.log.如果你能给我们一个完整的Python回溯,这通常是最有用的.
  • pip freeze在CKAN virtualenv中运行时命令的输出.