CKAN 在哪里存储推送到数据存储/文件存储的文件?

gus*_*o w 5 ckan

我想知道 CKAN 在哪里存储上传到数据存储/文件存储的文件。

我刚刚设置了环境,我尝试在 上搜索/var/lib/ckan/default/storage,但我只能找到图标。我在工具中上传的 CSV 文件不存在。

我在 中搜索/usr/lib/ckan,但文件不在那里。我在其他任何地方都找不到 CSV 文件。

这些文件存储在哪里?

lfu*_*ini 5

文件存储

默认情况下,资源文件保存在文件系统中。

在 CKAN.ini配置文件中,该属性ckan.storage_path指向存储文件的基本文件夹,例如:

ckan.storage_path = /var/lib/ckan
Run Code Online (Sandbox Code Playgroud)

该文件夹包含另外两个文件夹:

  • storage包含上传的组/组织图片
  • resources将 CSV(和 PDF、XLS、...)资源文件存储在两级文件夹下

为了找到特定的资源文件,请查看其 GUID:

  • GUID的前三个字符是一级文件夹的名称
  • GUID后面三个字符是二级文件夹的名字
  • GUID 的其余部分(-包括字符)是文件名

例如,如果资源 GUID 为3F2504E0-4F89-11D3-9A0C-0305E82C3301,则它在文件系统上存储为/var/lib/ckan/resources/3F2/504/E0-4F89-11D3-9A0C-0305E82C3301

数据存储

如果您配置了 DataStore,CSV 文件也会存储在数据库中以便于查询。

安装 DataStore 涉及添加 CKAN.ini配置文件,如下所示:

ckan.datastore.write_url = postgresql://ckan_default:pass@localhost/datastore_default
ckan.datastore.read_url = postgresql://datastore_default:pass@localhost/datastore_default
Run Code Online (Sandbox Code Playgroud)

其中说明了数据库用户、服务器和数据库名称。

DataStore 中每个资源的数据都包含在一个名为资源 GUID 的数据库表中。