S3备份多站点显示在存储桶的根目录中

我刚刚通过 web_only.yml 中的 S3 备份设置了一个多站点实例。我遵循了 https://meta.discourse.org/t/setting-up-file-and-image-uploads-to-s3/7229,让 discourse 在进行备份时创建存储桶。

  DISCOURSE_S3_BACKUP_BUCKET: lc-client-name
  DISCOURSE_S3_SECRET_ACCESS_KEY: valid=key
  DISCOURSE_S3_ACCESS_KEY_ID: secret

主站点和多站点的备份都成功了,但只有主站点能看到备份。我曾以为是客户端配置存储桶时权限问题,但当我通过 S3 网页界面查看存储桶时,我看到了一个默认目录,里面存放着预期的备份,但其他站点将它们的备份保存在了存储桶的根目录,而不是 site-name 目录下。

multisite.conf 有类似这样的配置节:

sitename:
  adapter: postgresql
  database: sitename
  pool: 25
  timeout: 5000
  host: data
  password: so-secret
  host_names:
    - community.sitename.com

我觉得我一定又犯了什么愚蠢的错误,比如漏了一个逗号,但我没看到。

而且,如果我在 S3 网页界面上创建一个名为“sitename”的目录并将文件移到那里,那么它确实会显示在备份中。

看起来文件不知何故被上传到了错误的地方,但它却能列出正确位置的现有备份。

这会不会是一个 :bug:

2 个赞

这个问题你解决了吗?它仍然存在吗?

我真的不记得了。我想是我为他们设置的,之后就没收到过回复。(哦,而且已经一年了,所以这解释了我为什么记不起来了。)