S3 MinIO
Esta guía te muestra cómo trabajar con AWS S3 localmente usando MinIO y Python. Este lab demuestra cómo integrar librerías de S3 (Boto3, PyArrow y Deltalake) para pipelines de datos locales y emulación de almacenamiento de objetos.
Prerrequisitos
Sección titulada «Prerrequisitos»- Docker instalado y en ejecución.
- Dev Containers extension instalada (opcional).
Cómo ejecutar
Sección titulada «Cómo ejecutar»-
Configurar el entorno:
Abre VS Code en la carpeta del proyecto y ejecuta este comando en la Paleta de Comandos:
Ventana de terminal > Dev Containers: Reopen in Container- Ejecuta el script de configuración para instalar herramientas y dependencias.
Ventana de terminal scripts/setup.sh - Iniciar la infraestructura: Lanza los contenedores necesarios.
Ventana de terminal docker compose up -d
- Ejecuta el script de configuración para instalar herramientas y dependencias.
-
Ejecutar el ejemplo:
Ventana de terminal python main.pySube el archivo README al bucket bronze:
Ventana de terminal aws s3 cp README.md s3://bronze --profile minio
Cómo depurar
Sección titulada «Cómo depurar»-
main.py:
- Abre
main.py. - Breakpoints: Añade breakpoints en el código.
- Ejecuta: Pulsa
F5para iniciar la depuración.
- Abre
-
Tests:
- Abre un archivo de test (e.g.,
tests/components/test_s3_boto.py). - Breakpoints: Añade breakpoints en el código de test.
- Ejecuta: Usa la pestaña Testing de VS Code y haz clic en el icono Debug Test junto al test que quieras depurar.
- Abre un archivo de test (e.g.,
Cómo testear
Sección titulada «Cómo testear»- Individualmente: Ejecuta tests individualmente desde la pestaña Testing de VS Code.
- Todos los tests: Ejecuta el script automatizado:
Ventana de terminal scripts/run_tests.sh
Validar resultados
Sección titulada «Validar resultados»- Abre:
Ventana de terminal http://localhost:9001 - Credenciales: Usa
MINIO_ROOT_USERyMINIO_ROOT_PASSWORDdefinidos en tu.env. - Verifica: Comprueba los buckets
bronzeysilverpara ver los archivos subidos.
- Ejecuta: Lista el contenido del bucket bronze:
Ventana de terminal aws s3 ls s3://bronze --recursive
- Accede al shell:
Ventana de terminal scripts/minio_cli.sh - Verifica:
Ventana de terminal mc ls data/bronze/ --recursive
Limpieza
Sección titulada «Limpieza»docker compose down -v