这是个棘手的问题。我确实按照你链接的帖子中所说,在 config/discourse.conf 中设置了 s3_bucket,正如我当时指出的那样,这确实解决了这个特定的错误。
该文件位于容器内部(通过 ./launcher enter app 进入)。请注意,若要使该设置在 ./launcher rebuild app 后仍然生效,你还需要在 containers/app.yml 文件的 env 部分添加 DISCOURSE_S3_BUCKET。
我之所以修复了这个问题,才将此帖作为开发讨论而非支持请求发布;我想知道开发人员认为什么是正确的解决方案,因为我在继续探索这个问题。
由于 S3 中约有 100GB 的文件,所以我非常谨慎。我已经实现了对要查看的帖子数量进行限制,接下来需要实现要对要修改的帖子数量进行限制。我一直是一次尝试一个功能。鉴于这段代码似乎很少被使用,而我却反复遇到这个错误,这让我担心代码腐化,我不想因为一个 bug 而突然破坏整个网站,而这个问题看起来很容易导致这种错误。
-
对于
upload://(对我来说,这意味着非视频)上传,目前看来运行正常。我是一次处理一个,然后检查受影响的帖子,确保一切正常。 -
对于不使用
upload://语法的上传(对我来说,据我所知这意味着视频上传),其中在 S3 中直接引用了 URL,这些 URL 会被错误地修改。一旦我确定应该将它们改成什么,这个 bug 并不难修复,但我目前还没有做到这一点。因此,这很可能成为我即将发布的 PR 之一。
这是我利用业余时间进行的项目,所以无法保证具体时间。