Recibe eventos directos desde Cloud Storage (la consola de Google Cloud)
En esta guía de inicio rápido, se muestra cómo recibir eventos directos de Cloud Storage en un servicio de Cloud Run no autenticado.
Puedes configurar la activación de notificaciones en respuesta a varios eventos dentro de un bucket de Cloud Storage, como la creación, la eliminación, el archivado y las actualizaciones de metadatos de objetos. Si deseas obtener más información, consulta Crea un activador para enrutar los eventos de Cloud Storage a Cloud Run.
Puedes completar esta guía de inicio rápido con la consola de Google Cloud. Para obtener instrucciones para usar Google Cloud CLI, consulta Recibe eventos directos desde Cloud Storage (gcloud CLI).
En esta guía de inicio rápido, podrás hacer lo siguiente:
Crear un bucket de Cloud Storage para que sea una fuente del evento
Implementa un servicio de muestra en Cloud Run para recibir eventos.
Crear un activador de Eventarc para filtrar y enrutar los eventos
Generar un evento mediante la carga de un archivo al bucket de Cloud Storage y visualizarlo en los registros de Cloud Run
Para seguir la guía paso a paso sobre esta tarea de forma directa en la consola de Google Cloud, haz clic en Guiarme:
Antes de comenzar
Es posible que las restricciones de seguridad que define tu organización no te permitan completar los siguientes pasos. Para obtener información sobre la solución de problemas, consulta Desarrolla aplicaciones en un entorno de Google Cloud restringido.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Crea un bucket de Cloud Storage
En esta guía de inicio rápido, se usa Cloud Storage como la fuente del evento.En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
Haz clic en
Crear.Ingresa un Nombre único para el bucket.
Por ejemplo,
hello-bucket
.Haga clic en Continuar.
En Tipo de ubicación, selecciona Región y, luego, us-central1 (Iowa).
Acepta los otros valores predeterminados.
Haz clic en Crear.
Después de crear la fuente del evento, puedes implementar el servicio del receptor de eventos en Cloud Run.
Implementa el servicio del receptor de eventos en Cloud Run
Implementa un servicio de Cloud Run que reciba y registre eventos.
En la consola de Google Cloud, ve a la página Servicios de Cloud Run.
Haz clic en
Crear servicio.En el formulario Crear servicio, haz lo siguiente:
Selecciona Implementar una revisión desde una imagen de contenedor existente.
Haz clic en Probar con un contenedor de muestra.
En la lista Región, para la ubicación del servicio, selecciona us-central1 (Iowa).
Para la Autenticación, selecciona Permitir invocaciones no autenticadas.
Para implementar la imagen de contenedor de muestra, haz clic en Crear.
La implementación del servicio hello
puede tomar hasta dos minutos en completarse.
Crea un activador de Eventarc
El activador de Eventarc enviará eventos desde el bucket de Cloud Storage al servicio de Cloud Run.En la consola de Google Cloud, ve a la página Activadores de Eventarc.
Haz clic en
Crear activador.Escribe un nombre de activador.
Por ejemplo,
hello-trigger
.En la lista Tipo de activador, selecciona Fuentes de Google.
Esto filtra los eventos enviados desde los proveedores de Google Cloud (directamente o a través de entradas de Registros de auditoría de Cloud) o proveedores con mensajes de Pub/Sub.
En la lista Proveedor de eventos, selecciona Cloud Storage.
En la lista Evento, selecciona Directo > google.cloud.storage.object.v1.finalized.
En Bucket, selecciona el bucket de Cloud Storage hello-bucket que creaste antes.
Si se te solicita, otorga la siguiente información:
- El rol
iam.serviceAccountTokenCreator
en la cuenta de servicio de Pub/Sub - El role
pubsub.publisher
a la cuenta de servicio de Cloud Storage
- El rol
Usa la Cuenta de servicio predeterminada de Compute como la cuenta de servicio que invoca el servicio.
En la lista Destino del evento, selecciona Cloud Run.
Para el servicio de Cloud Run, selecciona el servicio de muestra hello que creaste antes.
Haz clic en Crear.
Pueden pasar unos minutos hasta que todos los permisos necesarios se propaguen al
agente de servicio de Eventarc. Si recibes un error Permission denied
while using the Eventarc Service Agent
,
espera unos minutos y vuelve
a intentarlo. Una vez que se crea un activador, puede tardar hasta dos minutos para que
un activador funcione por completo.
Genera y visualiza un evento
Genera un evento y confirma que el activador de Eventarc funcione según lo esperado.
Para generar un evento, haz lo siguiente:
Crea un archivo de texto con el nombre
random.txt
y el texto “Hello World”.En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
Haz clic en el nombre del bucket de almacenamiento que creaste.
En la pestaña Objetos, haz clic en Subir archivos y sube el archivo
random.txt
.
La carga genera un evento y el servicio de Cloud Run registra el mensaje del evento.
Sigue estos pasos para ver la entrada de registro:
En la consola de Google Cloud, ve a la página Servicios de Cloud Run.
Haz clic en el nombre del servicio que creaste.
Para recuperar las entradas de registro de todas las revisiones del servicio, haz clic en la pestaña Registros en la página Detalles del servicio. Puedes filtrar por nivel de gravedad del registro
Busca una entrada de registro similar a lo siguiente:
Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]
¡Felicitaciones! Implementaste un servicio de receptor de eventos en Cloud Run de forma correcta, creaste un activador de Eventarc, generaste un evento desde Cloud Storage y lo viste en los registros de Cloud Run.
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Si bien Cloud Run no cobra cuando el servicio no se usa, es posible que se te cobre por almacenar la imagen del contenedor en Container Registry, por los recursos de Cloud Run y por almacenar archivos en el bucket de Cloud Storage.Puedes borrar la imagen, borrar el bucket de almacenamiento y borrar el servicio.
Para borrar el activador de Eventarc, sigue estos pasos:
En la consola de Google Cloud, ve a la página Activadores de Eventarc.
Haz clic en el nombre del activador que creaste.
En la página Detalles de los activadores, haz clic en
Borrar.
Como alternativa, puedes borrar el proyecto de Cloud para evitar que se generen cargos. Si borras tu proyecto de Google Cloud, se dejan de facturar todos los recursos que usaste en ese proyecto.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.