繁体   English   中英

如何使用 python 在两个 aws 帐户之间传输存储桶中的对象?

[英]How can I transfer objects in buckets between two aws accounts with python?

我需要将具有相同文件夹和存储桶结构的所有存储桶的所有对象从一个 aws 帐户转移到另一个 aws 帐户。 我一直在通过 aws cli 使用这段代码,一次一个桶:

aws s3 sync s3://SOURCE-BUCKET-NAME s3://DESTINATION-BUCKET-NAME --no-verify-ssl

我可以对所有桶的所有对象使用 python 吗?

AWS CLI实际上一个 Python 程序。 它包括同时复制多个对象的多线程,因此它可能比您自己编写的等效 Python 程序更有效率。

您可以调整一些可能有用的设置: AWS CLI S3 配置 — AWS CLI 命令参考

没有复制“所有存储桶”的选项——您仍然需要一次同步/复制一个存储桶。

另一种方法是使用S3 Bucket Replication ,其中 AWS 将为您复制存储桶。 这现在适用于现有对象。 请参阅: 在 S3 存储桶之间复制现有对象 | AWS 存储博客

或者,您可以使用S3 批量操作,它可以将清单(对象列表)作为输入,然后将这些对象复制到所需的目的地。 请参阅: 对 Amazon S3 对象执行大规模批处理操作 - Amazon Simple Storage Service

aws s3 sync是高级功能,在boto3等 AWS SDK 中不可用。 您必须自己在boto3之上实现它,或者搜索许多已经实现它的可用代码片段,例如python - 通过 boto3 同步两个存储桶 - Stack Overflow

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM