S3数据从一个帐户转移到另一个帐户

时间:2018-01-07 13:59:58

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

我可能会再问这个,但需要一些帮助,

我有来自客户端的s3存储桶详细信息(具有用户ID,密码,访问密钥,密钥)。我被要求将所有数据存入我们的S3存储桶。

似乎有很多关于如何完成的数据。但对我来说问题是我无权改变任何政策或任何事情。我有一个s3水桶和一台ec2机器。请指导我如何从上述信息中获取这些数据到我的s3桶

3 个答案:

答案 0 :(得分:0)

如果您有aws-cli,则可以使用

列出所有文件
aws s3 ls s3://your-bucket-name

使用

将文件从一个存储桶复制到另一个存储桶
aws s3 sync s3://source-bucket s3://target-bucket

由于

答案 1 :(得分:0)

您也可以使用

s3cmd cp s3://source-bucket/ s3://target-bucket/

或者如果您的存储桶位于不同的区域,您可以从源存储桶启用跨区域复制,并将存储桶指定为目标存储桶。


此外,使用跨区域复制时需要注意的重点是:

  1. 应启用版本控制桶。

  2. 应启用源和目标存储桶的版本控制。

  3. 此功能仅复制源和目标存储桶之间的新文件或更新文件。如果源和目标存储桶之间已存在任何现有文件,则不会同步该文件。

  4. 如果您仍然需要将该文件再次从源文件复制到目标存储区,则需要使用  aws s3 cp s3://source-bucket/ s3://target-bucket命令。

答案 2 :(得分:0)

由于这些是两个完全不同的aws帐户,AFAIK您无法使用aws cp,因为您需要两个不同的凭据,一个用于您的来源,另一个用于目的地。注意事项:您将以这种方式丢失所有元数据(例如创建数据,访问权限,标签......)!

  1. 运行aws configure并输入客户端的访问密钥和密钥
  2. 在空的本地目录中运行aws s3 cp --recursive s3://client-s3-bucket .
  3. 再次运行aws configure并输入您自己的aws凭证(目的地)
  4. 从同一目录运行aws s3 cp --recursive . s3://your-new-s3-bucket