如何提取 AWS S3 儲存桶或目錄的所有資料夾的清單?

如何提取 AWS S3 儲存桶或目錄的所有資料夾的清單?

Amazon 是否提供了一種簡單的方法來從 s3 儲存桶中提取檔案大於 500 MB 的所有資料夾的清單?也想將範圍限制在“/files/ftp_upload/”目錄中,這樣我就可以計算我的成本等。

我已經嘗試過但沒有得到太多幫助

aws s3 ls s3://YOUR_BUCKET/YOUR_FOLDER/ --recursive --human-readable --summarize

這裡最好的方法是什麼?

答案1

S3沒有「資料夾」的概念,控制台僅透過在正斜線(「/」)上分割物件鍵來在控制台中呈現類似資料夾的資料。因此,按“資料夾”匯總資料需要解析每個物件的鍵。

您可以提取與您的鍵前綴匹配的對象的所有數據,然後執行一些邏輯和數學將其求和在一起,但這需要大量工作。

如果您不需要即時數據,S3 Inventory 可能會提供一個很好的解決方案。基本上,您可以以三種格式之一取得指定 S3 儲存桶輸出中的物件清單:CSV、Apache ORC 或 Apache Parquet。然後,您可以根據數據進行更簡單的計算。

S3 Inventory 的缺點是需要一天左右的時間才能獲得報告,而且不是即時的。

https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html

-- 如果您正在尋找一種更簡單的方法來管理成本,您可能想要將用例分解為每個用例使用一個 S3 儲存桶。然後,您可以在儲存桶層級使用成本分配標籤。

此外,S3 利用率報告有助於確定您是否應該使用不同的儲存類別。

相關內容