簡體   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