Crea un activador mediante Registros de auditoría de Cloud y 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:

  1. Crear un bucket de Cloud Storage para que sea una fuente del evento

  2. Implementa un servicio de muestra en Cloud Run para recibir eventos.

  3. Crear un activador de Eventarc para filtrar y enrutar los eventos

  4. 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:

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.

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita las API de Cloud Build and Eventarc.

    Habilita las API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita las API de Cloud Build and Eventarc.

    Habilita las API

Crea un bucket de Cloud Storage

En esta guía de inicio rápido, se usa Cloud Storage como la fuente del evento.

  1. En la consola de Google Cloud, ve a la página de Cloud Storage.

    Ir a Cloud Storage

  2. Haz clic en  Crear.

  3. Ingresa un Nombre único para el bucket.

    Por ejemplo, hello-bucket.

  4. Haga clic en Continuar.

  5. En Tipo de ubicación, selecciona Región y, luego, us-central1 (Iowa).

  6. Acepta los otros valores predeterminados.

  7. 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.

  1. En la consola de Google Cloud, ve a la página Cloud Run.

    Ir a Cloud Run

  2. Haz clic en Crear servicio.

  3. En el formulario Crear servicio, haz lo siguiente:

    1. Selecciona Implementar una revisión desde una imagen de contenedor existente.

    2. Haz clic en Probar con un contenedor de muestra.

    3. En la lista Región, para la ubicación del servicio, selecciona us-central1 (Iowa).

    4. Para la Autenticación, selecciona Permitir invocaciones no autenticadas.

    5. 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.

  1. En la consola de Google Cloud, ve a la página Eventarc.

    Ir a Activadores

  2. Haz clic en Crear activador.

  3. Escribe un nombre de activador.

    Por ejemplo, hello-trigger.

  4. Selecciona un tipo de activador:

    • Propio: 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.
    • De terceros: Filtra los eventos enviados desde proveedores externos.
  5. En la lista Proveedor del evento, selecciona Fuentes de Google > Cloud Storage.

  6. En la lista Evento, selecciona Directo > google.cloud.storage.object.v1.finalized.

  7. En Bucket, selecciona el bucket de Cloud Storage hello-bucket que creaste antes.

  8. 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
  9. Usa la Cuenta de servicio predeterminada de Compute como la cuenta de servicio que invoca el servicio.

  10. En la lista Destino del evento, selecciona Cloud Run.

  11. Para el servicio de Cloud Run, selecciona el servicio de muestra hello que creaste antes.

  12. 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.

  1. Para generar un evento, haz lo siguiente:

    1. Crea un archivo de texto con el nombre random.txt y el texto “Hello World”.

    2. En la consola de Google Cloud, ve a la página de Cloud Storage.

      Ir a Buckets

    3. Haz clic en el nombre del bucket de almacenamiento que creaste.

    4. 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.

  2. Sigue estos pasos para ver la entrada de registro:

    1. En la consola de Google Cloud, ve a la página Cloud Run.

      Ir a Cloud Run

    2. Haz clic en el nombre del servicio que creaste.

    3. 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

    4. 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.

Limpia

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 tu imagen, borrar tu bucket de almacenamiento y borrar tu servicio.

Para borrar el activador de Eventarc, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Eventarc.

    Ir a Activadores

  2. Haz clic en el nombre del activador que creaste.

  3. 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.

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

¿Qué sigue?