非常基本的问题,但我一直无法找到答案。使用 Transit,我可以将文件从一个 AWS 账户上的一个 S3 存储桶“移动”到另一个 AWS 账户上的另一个 S3 存储桶,但它实际上所做的是从第一个账户下载文件,然后将它们上传到第二个账户。
有没有一种方法可以将文件直接从一个 S3 帐户移动到另一个帐户,而无需在中间下载它们?
最佳答案
是的,有办法。而且它非常简单,尽管很难找到。 8)
例如,假设您的第一个帐户用户名是 acc1@gmail.com,第二个帐户用户名是 acc2@gmail.com。
打开AWS Management Console作为 acc1。进入 Amazon S3 存储桶属性,然后在“权限”选项卡中单击“添加更多权限”。然后添加“经过身份验证的用户”的列表和查看权限。
接下来,在 acc2 的 AWS IAM(可从控制台选项卡中访问)中创建一个对 S3 存储桶具有完全访问权限的用户(为了更安全,您可以设置确切的权限,但我更喜欢创建一个临时用户进行传输,然后将其删除)。
然后你可以使用s3cmd (使用 acc2 中新创建的用户的凭据)执行以下操作:
s3cmd cp s3://acc1_bucket/folder/ s3://acc2_bucket/folder --recursive
所有转移都将在亚马逊这边完成。
关于file - 将文件直接从一个 S3 帐户移动到另一个帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5518205/