[英]Fastest and most cost efficient way to copy over an S3 bucket from another AWS account
[英]what is the fastest and cost efficient way of moving objects from one s3 folder to another folder in same bucket
我有一個示例存儲桶,其中包含子文件夾和文件的演示文件夾。 桶結構:
example/demo/*.jpeg #.jpeg files
example/demo/sub-folder1
example/demo/sub-folder2
我的目標是將demo/
文件夾中的所有.jpeg
文件(不包括sub-folder1
文件夾 1 和sub-folder2
文件夾 2 中的.jpeg
文件)移動到新文件夾/example/archive-jpeg/
。
尋求幫助以使用 aws-cli 獲得最快且具有成本效益的方式:使用 awscli v2
/demo
文件夾中的所有.jpeg
對象和/archive-jpeg
文件夾/demo
文件夾中刪除.jpeg
謝謝你!
這應該這樣做:
aws s3 mv s3://bucket/demo/ s3://bucket/target-folder/ --recursive --exclude "*" --include "*.jpeg" --exclude "*/*"
邏輯是:
aws s3 mv --recursive
告訴它移動所有對象--exclude "*"
告訴它排除所有對象被移動--include "*.jpeg"
告訴它包含以.jpeg
結尾的對象--exclude "*/*"
告訴它排除子目錄中的任何內容(例如sub-folder1/
和sub-folder2/
)請參閱: AWS CLI:使用排除和包含過濾器
至於最快和成本效益,由於您已指定要通過 AWS CLI 執行此操作,因此沒有其他選擇。
如果您願意在沒有AWS CLI 的情況下執行此操作,那么移動對象的更快方法是編寫一些並行運行的代碼,以將單獨的 Copy 和 Delete API 調用發送到 Amazon S3。 (S3 中沒有“移動”命令——AWS CLI 實際上是在復制對象,然后刪除原始對象。)
或者,您可以配置 Amazon S3 事件以觸發 AWS Lambda function,而不是作為批量移動對象,從而在文件創建后立即移動文件,這將導致它們比作為批量運行“更快”移動。
至於成本效益,需要復制和刪除對象,這將導致 API 以$0.005 per 1000 requests
的成本調用 Amazon S3。 我認為您無法避免這些 API 調用,因此無法降低成本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.