簡體   English   中英

從 S3 復制有限數量的文件?

[英]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 天的文件嗎?

  1. 您可以將生命周期策略設置為 S3 存儲桶,這將在一段時間后刪除它們。
  2. 要僅復制幾天前的對象,您需要編寫一個腳本

AWS CLI 中的aws s3 sync命令聽起來非常適合您的需求。

它將僅復制自上次同步以來新建或修改的文件 然而,這意味着目的地將需要保留“舊”文件的副本,以便它們不會被再次復制。

或者,您可以編寫一個腳本(例如在 Python 中)列出 S3 中的對象,然后僅復制自上次運行副本以來添加的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM