Python y boto3 para listar buckets S3

Clase 10 de 52Curso de Big Data en AWS

Contenido del curso

Extracción de información

Transformación de Información

Resumen

Potencia tus flujos de big data con Python y AWS desde un entorno en la nube listo para trabajar. Aquí verás cómo usar Cloud9, configurar una instancia de EC2 de bajo costo, y crear un script con boto3 para listar buckets en S3, apoyándote en la AWS SDK y la CLI.

¿Por qué usar Python y AWS para big data?

Python te permite orquestar recursos en la nube y aprovechar librerías de procesamiento de datos. Además, se integra de forma nativa con los servicios de AWS.

  • AWS ofrece SDKs para varios lenguajes: JavaScript, Python, PHP, .NET, Ruby, Go, Node.js, C++ y Java.
  • Con Python y la SDK puedes automatizar recursos de big data en AWS.
  • Librerías clave: Pandas, Anaconda, Pipenv, Pyenv para flexibilidad en transformación de datos.
  • Integración directa con servicios de big data en AWS usando boto3.

¿Cómo crear un IDE con Cloud9 en AWS?

Cloud9 es un IDE en la nube que te conecta a servicios de AWS sin configurar nada en local. Permite escribir, ejecutar y probar código con runners para múltiples lenguajes y terminal con AWS CLI.

¿Qué configuración de instancia conviene?

  • Crea un Environment con nombre descriptivo, por ejemplo: Platzi ENV.
  • Elige “Create Environment” y usa una instancia EC2 dedicada.
  • Selecciona instancia pequeña por costos: t2.micro en la capa gratuita.

¿Qué opciones de red y permisos aplicar?

  • Networking por defecto: VPC y subred de la región (por ejemplo, Virginia, us-east-1).
  • Asigna un IAM Role al Environment desde Cloud9: Actions > Instance Settings > Attach/Replace IAM Role.
  • El rol permite a Cloud9 interactuar con otros servicios de AWS con permisos controlados.

¿Cómo ahorrar costos en Cloud9?

  • Habilita el auto-stop por inactividad (por defecto, 30 minutos).
  • Puedes ajustar a horas, días o semana según uso.

¿Cómo ejecutar un script en Python con boto3 para S3?

Desde Cloud9, crea un archivo y usa boto3 para inicializar un cliente S3, pasar la región como argumento y listar buckets. Si olvidas el argumento, el runner marcará error: agrega la región (ej.: us-east-1) y ejecuta de nuevo.

  • Abre la terminal e interactúa con la AWS CLI: aws s3 ls para listar buckets.
  • Crea un archivo, por ejemplo: s3.py.
  • Importa las librerías necesarias: boto3 y sys.
  • Inicializa el cliente con region_name recibido como argumento.
  • Llama a list_buckets() y imprime la respuesta en formato JSON.
# s3.py import sys import boto3 # Región como primer argumento: us-east-1, eu-west-1, etc. region = sys.argv[1] # Cliente de S3 inicializado con región dinámica s3 = boto3.client('s3', region_name=region) # Listar buckets y mostrar respuesta response = s3.list_buckets() print(response)

Ejecuta el script desde el runner de Python en Cloud9 o desde la terminal:

python s3.py us-east-1

Más opciones útiles en Cloud9:

  • Usa el panel de runners para seleccionar el lenguaje de ejecución.
  • Cambia a bash para comandos de la CLI cuando lo prefieras.
  • Verifica la instancia EC2 creada automáticamente al aprovisionar Cloud9.

¿Quieres que revisemos permisos detallados del IAM Role o extender el script para crear y borrar buckets? Cuéntame en comentarios qué necesitas construir.