如何下载S3存储桶的所有内容然后上传到另一个存储桶?

时间:2016-05-02 14:38:08

标签: amazon-web-services amazon-s3 aws-cli

  • 我需要将一个S3存储桶的内容放到另一个S3存储桶中。
  • 水桶分为两个不同的帐户。
  • 我被告知不要创建允许从源存储桶访问目标存储桶的策略。

使用AWS CLI如何下载原始存储桶的所有内容,然后将内容上传到目标存储桶?

2 个答案:

答案 0 :(得分:4)

本地复制

aws s3 sync s3://origin /local/path

要复制到目标存储区:

aws s3 sync /local/path s3://destination 

答案 1 :(得分:1)

aws cli允许您配置命名配置文件,允许您为每个单独的cli命令使用不同的凭据集。这将很有用,因为您的存储桶位于不同的帐户中。

要创建您的命名配置文件,您需要确保每个帐户中已有IAM用户,并且每个用户都需要一组访问密钥。像这样创建两个命名的配置文件。

aws configure --profile profile1
aws configure --profile profile2

这些命令中的每一个都会询问您的访问密钥和要使用的默认区域。获得两个配置文件后,请使用这样的aws cli。

aws s3 cp s3://origin /local/path --recursive --profile profile1
aws s3 cp /local/path s3://destination --recursive --profile profile2

请注意,您可以使用--profile参数告诉cli要为每个命令使用哪组凭据。