¿Cómo extraigo una lista de todas las carpetas de mi depósito o directorios de almacenamiento de AWS S3?

¿Cómo extraigo una lista de todas las carpetas de mi depósito o directorios de almacenamiento de AWS S3?

¿Amazon proporciona una manera fácil de extraer una lista de todas las carpetas que tienen archivos de más de 500 MB de un depósito s3? También quiero limitar el alcance a los directorios '/files/ftp_upload/'. Esto es para poder calcular mis costos, etc.

Intenté esto pero no obtengo mucha ayuda.

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

¿Cuál es el mejor enfoque aquí?

Respuesta1

S3 no tiene un concepto de "carpetas", la consola solo presenta los datos como carpetas en la consola dividiendo las claves de objeto en la barra diagonal ("/"). Por lo tanto, resumir los datos por "carpeta" requeriría analizar la clave de cada objeto.

Podrías extraer TODOS los datos de los objetos que coincidan con tu prefijo clave y luego realizar algo de lógica y matemáticas para resumirlos, pero eso es mucho trabajo.

Si no necesita los datos en tiempo real, S3 Inventory puede proporcionarle una buena solución. Básicamente, obtienes una lista de los objetos en la salida del depósito S3 especificado en uno de tres formatos: CSV, Apache ORC o Apache Parquet. Luego podrá realizar cálculos mucho más sencillos basados ​​en los datos.

La desventaja de S3 Inventory es que se tarda aproximadamente un día en obtener el informe y no es en tiempo real.

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

-- Si está buscando una manera más fácil de administrar los costos, es posible que desee dividir el caso de uso usando un depósito S3 para cada uno. Luego, podría utilizar etiquetas de asignación de costos a nivel de depósito.

Además, los informes de utilización de S3 son útiles para determinar si debería utilizar una clase de almacenamiento diferente.

información relacionada