Recibir eventos directos de Cloud Storage (Google Cloud consola)
En esta guía de inicio rápido se muestra cómo recibir eventos directos de Cloud Storage en un servicio de Cloud Run sin autenticar.
Puedes configurar el envío de notificaciones en respuesta a varios eventos dentro de un cubo de Cloud Storage: creación, eliminación y archivado de objetos, así como actualizaciones de metadatos. Para obtener más información, consulta Crear un activador para enrutar eventos de Cloud Storage a Cloud Run.
Puedes completar esta guía de inicio rápido con la Google Cloud consola. Para obtener instrucciones sobre cómo usar Google Cloud CLI, consulta Recibir eventos directos de Cloud Storage (CLI de gcloud).
En esta guía de inicio rápido, harás lo siguiente:
Crea un segmento de Cloud Storage que actúe como fuente de eventos.
Despliega un servicio de ejemplo en Cloud Run para recibir eventos.
Crea un activador de Eventarc para filtrar y enrutar eventos.
Genera un evento subiendo un archivo al segmento de Cloud Storage y consulta el evento en los registros de Cloud Run.
Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:
Antes de empezar
Es posible que las restricciones de seguridad definidas por tu organización te impidan completar los siguientes pasos. Para obtener información sobre cómo solucionar problemas, consulta el artículo Desarrollar aplicaciones en un entorno limitado Google Cloud .
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Eventarc APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. En la Google Cloud consola, ve a la página Cloud Storage > Información general.
Haz clic en
Crear segmento.Introduce un nombre único para el contenedor.
Por ejemplo,
hello-bucket
.Haz clic en Continuar.
En Tipo de ubicación, selecciona Región y, a continuación, us-central1 (Iowa).
Acepta los demás valores predeterminados.
Haz clic en Crear.
En la Google Cloud consola, ve a la página Servicios de Cloud Run.
Haz clic en > Servicio.
Desplegar contenedorEn el formulario Crear servicio:
Selecciona Desplegar una revisión desde una imagen de contenedor que ya existe.
Haz clic en Probar con un contenedor de ejemplo.
En la lista Región, selecciona la ubicación de tu servicio: us-central1 (Iowa).
En Autenticación, selecciona Permitir las invocaciones sin autenticar.
Acepta los demás valores predeterminados.
Para implementar la imagen de contenedor de muestra, haz clic en Crear.
En la Google Cloud consola, ve a la página Eventarc > Triggers (Activadores).
Haz clic en
Crear activador.Escribe un Nombre del activador.
Por ejemplo,
hello-trigger
.En la lista Tipo de activador, selecciona Fuentes de Google.
Filtra los eventos enviados por Google Cloud proveedores (directamente o a través de entradas de registros de auditoría de Cloud) o por proveedores que usan mensajes de Pub/Sub.
En la lista Proveedor de eventos, selecciona Cloud Storage.
En la lista Tipo de evento, selecciona Direct > google.cloud.storage.object.v1.finalized.
En Segmento, selecciona el segmento de Cloud Storage hello-bucket que has creado anteriormente.
Si se te pide, concede lo siguiente:
iam.serviceAccountTokenCreator
a la cuenta de servicio de Pub/Sub- Rol
pubsub.publisher
en la cuenta de servicio de Cloud Storage
Usa la cuenta de servicio predeterminada de Compute como cuenta de servicio que invoca tu servicio.
En la lista Destino del evento, selecciona Cloud Run.
En Servicio de Cloud Run, selecciona el servicio de ejemplo hello que has creado anteriormente.
Acepta los demás valores predeterminados.
Haz clic en Crear.
Para generar un evento, sigue estos pasos:
Crea un archivo de texto con el nombre
random.txt
y el texto "Hello World".En la Google Cloud consola, ve a la página Cloud Storage > Segmentos.
Haz clic en el nombre del contenedor de almacenamiento que has creado.
En la pestaña Objetos, haga clic en Subir archivos y suba el archivo
random.txt
.
La subida genera un evento y el servicio de Cloud Run registra el mensaje del evento.
Para ver la entrada del registro, sigue estos pasos:
En la Google Cloud consola, ve a la página Servicios de Cloud Run.
Haz clic en el nombre del servicio que has creado.
Para obtener las entradas de registro de todas las revisiones de este servicio, en la página Detalles del servicio, haga clic en la pestaña Registros. Puedes filtrar por nivel de gravedad del registro.
Busca una entrada de registro similar a la siguiente:
Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]
En la Google Cloud consola, ve a la página Triggers (Activadores) de Eventarc.
Haz clic en el nombre del activador que has creado.
En la página Detalles de los activadores, haz clic en
Eliminar.- 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.
Crea un segmento de Cloud Storage
En esta guía de inicio rápido se usa Cloud Storage como origen de eventos.Una vez creado el origen del evento, puedes desplegar el servicio receptor de eventos en Cloud Run.
Desplegar el servicio de receptor de eventos en Cloud Run
Despliega un servicio de Cloud Run de ejemplo que recibe y registra eventos.
El despliegue del servicio hello
puede tardar hasta dos minutos en completarse.
Crear un activador de Eventarc
El activador de Eventarc enviará eventos del segmento de Cloud Storage al servicio de Cloud Run de ejemplo.Puede que tarden unos minutos en propagarse todos los permisos necesarios 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 creado un activador, puede tardar hasta dos minutos en estar totalmente operativo.
Generar y ver un evento
Genera un evento y confirma que el activador de Eventarc funciona correctamente.
¡Enhorabuena! Has desplegado correctamente un servicio de receptor de eventos en Cloud Run, has creado un activador de Eventarc, has generado un evento desde Cloud Storage y lo has visto en los registros de Cloud Run.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Aunque Cloud Run no aplica cargos cuando el servicio no se está usando, es posible que se te cobren cargos por almacenar la imagen de contenedor en Container Registry, recursos de Cloud Run y por almacenar archivos en tu segmento de Cloud Storage.Puedes eliminar tu imagen, eliminar tu segmento de almacenamiento y eliminar tu servicio de Cloud Run.
Para eliminar el activador de Eventarc, sigue estos pasos:
También puedes eliminar tu Google Cloud proyecto para evitar que se te apliquen cargos. Al eliminar tu Google Cloud proyecto, se detendrá la facturación de todos los recursos utilizados en él.