AWS S3 스토리지 버킷 또는 디렉터리의 모든 폴더 목록을 추출하려면 어떻게 해야 합니까?

AWS S3 스토리지 버킷 또는 디렉터리의 모든 폴더 목록을 추출하려면 어떻게 해야 합니까?

Amazon은 s3 버킷에서 500MB보다 큰 파일이 있는 모든 폴더 목록을 추출하는 쉬운 방법을 제공합니까? 범위를 '/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 활용도 보고는 다른 스토리지 클래스를 사용해야 하는지 결정하는 데 도움이 됩니다.

관련 정보