[英]Copy limited number of files from S3?
我們正在使用 S3 存儲桶來存儲越來越多的 JSON 小文件(每個約 1KB),其中包含一些與構建相關的數據。 我們的部分管道涉及從 S3 復制這些文件並將它們放入 memory 以執行一些操作。
該復制操作是通過 S3 cli 工具命令完成的,如下所示:
aws s3 cp s3://bucket-path ~/some/local/path/ --recursive --profile dev-profile
問題是 S3 上的 json 文件數量越來越大,因為每天都在制作更多文件。 由於文件非常小,它甚至無法接近 S3 存儲桶的容量。 但是,實際上,沒有必要復制所有這些 JSON 文件。 實際上,系統只復制最近的 100 個左右就安全了。 但我們確實希望保留舊的用於其他目的。
所以我的問題歸結為:是否有一種干凈的方法可以從 S3 復制特定數量的文件(可能按最近排序)? 我們可以在 S3 存儲桶上設置某種修剪策略來刪除早於 X 天的文件嗎?
AWS CLI 中的aws s3 sync
命令聽起來非常適合您的需求。
它將僅復制自上次同步以來新建或修改的文件。 然而,這意味着目的地將需要保留“舊”文件的副本,以便它們不會被再次復制。
或者,您可以編寫一個腳本(例如在 Python 中)列出 S3 中的對象,然后僅復制自上次運行副本以來添加的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.