首页 > 解决方案 > 使用 s3-dist-cp 跨 AWS 账户复制 S3 文件

问题描述

我有需要将文件从一个 S3 存储桶复制到另一个 S3 存储桶的要求。这些存储桶存在于不同的 AWS 账户中。我尝试使用 s3 sync 命令。但是,对于此目标 IAM 用户,应授予对源存储桶的读取访问权限。我没有使用此命令,因为我没有相同的 IAM 用户可以访问这两个帐户。目前有两个 AIM 用户,每个用户一个。

无论如何我可以使用 s3-dist-cp 命令来满足这个要求吗?

标签: amazon-web-servicesamazon-s3s3distcp

解决方案


在撰写本文时,您无法为两个不同的存储桶配置两个不同的访问密钥。

您可以跨账户配置相同的 IAM 用户,并允许他们从一个账户读取并写入另一个账户。IAM 角色可以在这里实现。

如果您不想跨账户使用相同的 IAM 用户,请复制到本地 hdfs 并移回目标存储桶。

hadoop distcp -Dfs.s3a.awsAccessKeyId= -Dfs.s3a.awsSecretAccessKey= s3a://sourcebucket hdfs://tempcopy/

hadoop distcp -Dfs.s3a.awsAccessKeyId= -Dfs.s3a.awsSecretAccessKey= hdfs://tempcopy/ s3a://destbucket

希望能帮助到你。


推荐阅读