如何将旧上传迁移到 S3?

我现在所有新上传的文件都直接存入 S3,但现在我也想把之前上传的所有文件迁移到 S3。有没有相关的操作指南?

我搜索了论坛,找到了一些零散的信息,但没有找到一步步的完整教程。目前我还没能弄清楚具体怎么做。

您应该能够使用 uploads:migrate_to_s3 rake 命令。这将把您的本地文件迁移到配置的 S3 存储桶。

大家好,

我也遇到了同样的问题。不过我已经将 /uploads/ 文件夹迁移到了新的 S3 存储。有没有一种替代 uploads:migrate_to_s3 的方法,只重新链接文件而跳过实际上传?

我刚刚将实例从本地上传切换到了 S3 上传,但无论如何都无法让 S3 迁移工具正常工作。为了帮助其他可能查看此主题的人,我将在此总结所需的步骤。

  1. 在管理界面中启用 S3 上传,并设置所有必需的 S3 密钥和设置,以便新上传的文件发送至 S3。
  2. 在 app.yml 的 env 部分添加所需的 DISCOURSE_S3_ 环境变量。
    示例:
  DISCOURSE_S3_BUCKET: your-bucket-name
  DISCOURSE_S3_REGION: your-s3-bucket-region
  DISCOURSE_S3_ACCESS_KEY_ID: your-s3-access-key-id
  DISCOURSE_S3_SECRET_ACCESS_KEY: your-s3-secret-access-key
  1. 使用 ./launcher rebuild app 重建应用。
  2. 使用 ./launcher enter app 进入应用。
  3. 在 Docker 容器内运行 rails uploads:migrate_to_s3

我最初尝试使用 ./launcher run app rails uploads:migrate_to_s3 运行该命令,但它无法找到该任务。