Interacción con Cloud Storage mediante Python | Curso Google Cloud Associate Cloud Engineer

Automatización de Datos: Interactuando con Cloud Storage mediante Python

Autor: Eduardo Martínez Agrelo

En los ejercicios anteriores gestionamos Cloud Storage mediante la consola web y Terraform. Sin embargo, en el mundo real, las aplicaciones necesitan leer y escribir archivos automáticamente. Como Ingeniero Cloud, debes saber cómo integrar tus desarrollos con la nube. En el examen Associate Cloud Engineer, es fundamental entender cómo funcionan las librerías cliente y cómo se gestiona la autenticación del código. En este ejercicio, crearemos un script en Python para subir archivos a nuestro bucket.

Client Libraries vs. APIs REST

Google Cloud ofrece dos formas principales de interactuar con sus servicios desde el código:

  • APIs REST: Peticiones HTTP puras. Son universales pero complejas, ya que debes gestionar tú mismo las cabeceras de autenticación, los reintentos y el parseo de JSON.
  • Cloud Client Libraries: Librerías oficiales (para Python, Go, Java, etc.) que envuelven la API REST. Es la opción recomendada y la que evaluará el examen, ya que maneja automáticamente la seguridad y ofrece un código mucho más legible e idiomático.

El Corazón de la Seguridad: Application Default Credentials (ADC)

Una pregunta típica de examen es: "¿Cómo se autentica tu script de Python con Google Cloud sin escribir la contraseña en el código?"

La respuesta es ADC (Application Default Credentials). Es una estrategia que siguen las librerías de Google para buscar credenciales automáticamente en este orden:

  1. Busca la variable de entorno GOOGLE_APPLICATION_CREDENTIALS que apunta a un archivo JSON de clave de cuenta de servicio.
  2. Si estás en una VM de Google Cloud (GCE, GKE, Cloud Run), usa la Service Account predeterminada de la máquina.
  3. En desarrollo local, usa las credenciales generadas al ejecutar gcloud auth application-default login.

Permisos Necesarios: IAM para el Código

Recuerda que el código "hereda" los permisos de la identidad que lo ejecuta. Si tu script va a subir archivos (objetos), la identidad (ya sea tu usuario o una Service Account) debe tener al menos el rol:

roles/storage.objectCreator

Sin este permiso, el script de Python devolverá un error 403 Forbidden.

La Práctica: El paquete google-cloud-storage

En este ejercicio, instalaremos la librería oficial mediante pip y escribiremos una función que realice tres pasos básicos:

  • Instanciar el cliente de almacenamiento (storage.Client()).
  • Referenciar el bucket por su nombre único.
  • Crear un "blob" (el objeto en la nube) y cargar los datos desde un archivo local.

Conclusión: Programación en la Nube

Al finalizar este ejercicio, habrás roto la barrera entre tu código local y la infraestructura de Google Cloud. Has aprendido a usar las herramientas profesionales de integración y a gestionar la seguridad del código mediante ADC, una competencia vital para cualquier desarrollador o arquitecto cloud.

Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!