如何使用 aws cli 在区域之间进行 S3 复制?

How do I do an S3 copy between regions using aws cli?

要弄清楚这一点非常困难。这对我来说并不明显,很多解释都遗漏了关键细节。我会用解决方案来回答这个问题。抱歉,如果您觉得这很明显,但考虑到我进行了多少次搜索和实验,我认为向其他人展示如何做是非常值得的。

更新:根据评论者的说法,可能不再需要我在此处显示的额外参数。我目前没有使用 AWS,所以我没有办法验证它。无论如何,我没有更改此 post 的其余部分,以防在某些情况下仍然需要它。

诀窍是明确说明源区域和目标区域。它们可能并不总是必需的,但始终显示它们并没有什么坏处:

$ aws s3 cp s3://my-source-bucket-in-us-west-2/ \
      s3://my-target-bucket-in-us-east-1/ \
      --recursive --source-region us-west-2 --region us-east-1

或 Windows

> aws s3 cp s3://my-source-bucket-in-us-west-2/ ^
          s3://my-target-bucket-in-us-east-1/ ^
          --recursive --source-region us-west-2 --region us-east-1