如何将存储在本地计算机上的媒体文件移动到 S3?

How can I move my media files stored in local machine to S3?

我在 EC2 上有一个 Django 应用程序 运行。目前,我所有的媒体文件都存储在实例中。我上传到模型的所有文件也在实例中。现在我想添加 S3 作为我的默认存储。我担心的是,我如何将我当前的媒体文件移动到集成后的 S3。

我曾经想 运行 一个 Python 脚本。但我正在寻找任何内置解决方案,或者可能只是在寻找意见。

最简单的方法是使用 AWS Command-Line Interface (CLI) aws s3 sync 命令。它可以复制文件 to/from Amazon S3.

但是,如果有与文件移动位置相关的复杂规则,那么您一定要使用 Python 脚本和 upload_file() 命令。

A​​mazon CLI 应该可以完成这项工作:

aws s3 cp path/to/file s3://your-bucket/

或者如果是整个目录则:

aws s3 cp path/to/dir/* s3://your-bucket/ --recursive

所有选项都可以在这里看到:https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html