1. Descripción general
En este lab, crearás un activador de Eventarc que conecte un tema de Pub/Sub al servicio de Workflows. Eventarc te permite desacoplar la comunicación entre servicios, lo que hace que tu solución sea más extensible y basada en eventos. Crearás un flujo de trabajo que incluye varios pasos para ejecutar un proceso comercial que calcula los puntos de recompensa del cliente por hacer pedidos en Cymbal Eats. El flujo de trabajo llamará a una API de servicio privada de Cloud Run para ejecutar la lógica empresarial. El servicio de Cloud Run está configurado para permitir solo el tráfico interno y requiere autenticación. El flujo de trabajo publicará un mensaje en el tema de Pub/Sub para notificar al servicio de pedidos sobre los puntos de recompensa calculados.
¿Qué es Eventarc?
Eventarc te permite compilar arquitecturas basadas en eventos sin tener que implementar, personalizar ni mantener la infraestructura subyacente. Eventarc ofrece una solución estandarizada para administrar el flujo de cambios de estado, llamados eventos, entre microservicios separados. Cuando se activa, Eventarc enruta estos eventos a través de suscripciones de Pub/Sub a varios destinos (p. ej., Workflows o Cloud Run) mientras administra la entrega, la seguridad, la autorización, la observabilidad y el manejo de errores por ti.
Proveedores de eventos de Google
- Más de 90 proveedores de Google Cloud Estos proveedores envían eventos directamente desde la fuente (por ejemplo, Cloud Storage) o a través de las entradas de Registros de auditoría de Cloud.
- Proveedores de Pub/Sub. Estos proveedores envían eventos a Eventarc a través de mensajes de Pub/Sub.
Proveedores externos
Los proveedores externos son entidades que no son de Google y que ofrecen una fuente de Eventarc.
Activadores de Eventarc
- Eventos de Cloud Pub/Sub. Eventarc se puede activar mediante mensajes publicados en temas de Pub/Sub.
- Eventos de Registros de auditoría de Cloud (CAL). Los registros de auditoría de Cloud proporcionan registros de auditoría de actividad del administrador y acceso a los datos para cada proyecto, carpeta y organización de Cloud.
- Eventos directos: Eventarc se puede activar mediante varios eventos directos, como una actualización de un bucket de Cloud Storage o una actualización de una plantilla de Firebase Remote Config.
Destinos de eventos
- Workflows
- Cloud Run
- GKE
- Cloud Functions( 2nd gen)

¿Qué es Workflows?
Workflows es un servicio completamente administrado que te permite integrar microservicios, tareas y APIs. Workflows es un servicio sin servidores que se ajustará para satisfacer tu demanda.
Casos de uso de flujos de trabajo:
- Los flujos de trabajo basados en eventos se ejecutan en activadores definidos. Por ejemplo, cuando se envía un pedido nuevo y deseas calcular los puntos de lealtad del cliente. O bien, cuando se cancela un pedido, se puede publicar el evento y todos los servicios interesados lo procesarán.
- Los flujos de trabajo de trabajos por lotes ejecutan trabajos de forma periódica con Cloud Scheduler. Por ejemplo, un trabajo nocturno para verificar los elementos del menú en estado de error y borrarlos.
Workflows es ideal para los flujos de trabajo que organizan servicios. Puedes automatizar procesos que incluyen espera y reintentos de hasta un año.
Beneficios de los flujos de trabajo:
- Configuración en lugar de código: Reduce la deuda técnica trasladando la lógica a la configuración en lugar de escribir código.
- Simplifica tu arquitectura. Los flujos de trabajo con estado te permiten visualizar y supervisar las integraciones de servicios complejas sin dependencias adicionales.
- Incorpora confiabilidad y tolerancia a errores. Controla las fallas con la lógica de reintento predeterminada o personalizada y el manejo de errores, incluso cuando fallan otros sistemas; verifica cada paso en Cloud Spanner para poder realizar un seguimiento del progreso.
- No se requiere mantenimiento. Escala según sea necesario: No tienes que aplicar parches ni mantener nada. Paga solo cuando se ejecutan los flujos de trabajo, sin costo mientras esperas o están inactivos.
En este lab, configurarás un flujo de trabajo basado en eventos.
Qué aprenderás
En este lab, aprenderás a realizar las siguientes tareas:
- Configura el tema de Pub/Sub y Eventarc para activar Workflows
- Configura Workflow para llamar al servicio de Cloud Run y publicar mensajes en Pub/Sub
- Cómo consultar los registros estructurados de Workflows en Cloud Logging y con la CLI de gcloud
Requisitos previos
- Para este lab, se da por sentado que el usuario tiene conocimientos previos sobre los entornos de shell y la consola de Cloud.
- Tener experiencia previa en Cloud Run y Cloud Pub/Sub es útil, pero no es un requisito.
2. Configuración y requisitos
Configuración del proyecto de Cloud
- Accede a Google Cloud Console y crea un proyecto nuevo o reutiliza uno existente. Si aún no tienes una cuenta de Gmail o de Google Workspace, debes crear una.



- El Nombre del proyecto es el nombre visible de los participantes de este proyecto. Es una cadena de caracteres que no se utiliza en las APIs de Google. Puedes actualizarla en cualquier momento.
- El ID del proyecto es único en todos los proyectos de Google Cloud y es inmutable (no se puede cambiar después de configurarlo). La consola de Cloud genera automáticamente una cadena única. Por lo general, no importa cuál sea. En la mayoría de los codelabs, deberás hacer referencia al ID del proyecto (suele identificarse como
PROJECT_ID). Si no te gusta el ID que se generó, podrías generar otro aleatorio. También puedes probar uno propio y ver si está disponible. No se puede cambiar después de este paso y se usará el mismo durante todo el proyecto. - Recuerda que hay un tercer valor, un número de proyecto, que usan algunas APIs. Obtén más información sobre estos tres valores en la documentación.
- A continuación, deberás habilitar la facturación en la consola de Cloud para usar las APIs o los recursos de Cloud. Ejecutar este codelab no debería costar mucho, tal vez nada. Para cerrar recursos y evitar que se generen cobros más allá de este instructivo, puedes borrar los recursos que creaste o borrar todo el proyecto. Los usuarios nuevos de Google Cloud son aptos para participar en el programa Prueba gratuita de USD 300.
Configuración del entorno
Para activar Cloud Shell, haz clic en el ícono que se encuentra a la derecha de la barra de búsqueda.

Clona el repositorio y navega al directorio. Copia y pega el siguiente comando en la terminal y presiona Intro:
git clone https://github.com/GoogleCloudPlatform/cymbal-eats.git && cd cymbal-eats/customer-service
Ejecuta lab-setup.sh para implementar las dependencias necesarias.
Se crearán los siguientes recursos:
- Clúster e instancia de AlloyDB
- Artifact Registry para almacenar imágenes de contenedores para Cloud Run Job y Atención al cliente
- Conector de acceso a VPC para que el servicio y el trabajo de Cloud Run se comuniquen con la base de datos de AlloyDB
- Trabajo de Cloud Run para crear una base de datos de AlloyDB
- Servicio al cliente de Cloud Run: Microservicio basado en Java que usa el framework de Quarkus.
./lab-setup.sh
Si se te solicita autorización, haz clic en "Autorizar" para continuar.

La configuración tardará alrededor de 10 minutos.
Espera a que finalice la secuencia de comandos y veas el siguiente resultado antes de ejecutar otros pasos.
Deploying container to Cloud Run service [customer-service] in project [cymbal-eats-19227-5681] region [us-east1] OK Deploying new service... Done. OK Creating Revision... OK Routing traffic... Done. Service [customer-service] revision [customer-service-00001-mid] has been deployed and is serving 100 percent of traffic. Service URL: https://customer-service-e4p5zon5rq-ue.a.run.app
Puedes explorar la siguiente sección y, luego, volver para continuar con el siguiente paso.
3. Flujo de trabajo de revisión
Conceptos básicos de Workflows
Un flujo de trabajo consta de una serie de pasos descritos con la sintaxis de Workflows( YAML o JSON).
Después de crear un flujo de trabajo, se implementa, lo que lo deja listo para ejecutarse.
Una ejecución es una ejecución única de la lógica que se incluye en la definición de un flujo de trabajo. Un flujo de trabajo que no se ejecutó no genera cargos. Todas las ejecuciones de flujos de trabajo son independientes, y el escalamiento rápido del producto permite una gran cantidad de ejecuciones simultáneas.
Controles de ejecución
- Pasos: Para crear un flujo de trabajo, debes definir el
stepsy el orden de ejecución deseados con la sintaxis de Workflows. Cada flujo de trabajo debe tener al menos un paso. - Condiciones: Puedes usar un bloque
switchcomo mecanismo de selección que permite que el valor de una expresión controle el flujo de la ejecución de un flujo de trabajo. - Iteraciones: Puedes usar un bucle
forpara iterar sobre una secuencia de números o a través de una colección de datos, como una lista o un mapa. - Subflujos de trabajo: Un subflujo de trabajo funciona de manera similar a una rutina o función en un lenguaje de programación, lo que te permite encapsular un paso o un conjunto de pasos que tu flujo de trabajo repetirá varias veces.
Cómo activar ejecuciones
- Manual: Puedes administrar flujos de trabajo desde la consola de Google Cloud o desde la línea de comandos con Google Cloud CLI.
- Programática: Las bibliotecas cliente de Cloud para la API de Workflows o la API de REST se pueden usar para administrar flujos de trabajo.
- Programado: Puedes usar Cloud Scheduler para ejecutar un flujo de trabajo según un programa en particular.
Argumentos de entorno de ejecución
Puedes acceder a los datos que se pasan en el tiempo de ejecución agregando un campo params a tu flujo de trabajo principal (ubicado en un bloque principal). El bloque principal acepta un solo argumento que puede ser cualquier tipo de datos JSON válido. El campo params nombra la variable que usa el flujo de trabajo para almacenar los datos que pasas.
Flujo de trabajo para la autenticación del servicio de Cloud Run
El servicio al cliente es una aplicación de ejemplo incluida en este repo que se ejecuta en Cloud Run y está configurada para permitir solicitudes autenticadas que provienen solo de redes internas. Configurarás Workflows para agregar un token de OpenID Connect(OIDC) firmado por Google a la solicitud para autenticarte con el servicio de Cloud Run.
Revisa la documentación para obtener más información sobre la autenticación de servicio a servicio.
La autenticación del flujo de trabajo se configura en el bloque args con la sección auth.
rewardsWorkflow.yaml.tmpl
- create_customer:
call: http.post
args:
url: CUSTOMER_SERVICE_URL/customer
auth:
type: OIDC
Lógica del flujo de trabajo
Si no existe un cliente, este flujo de trabajo realizará una llamada a la API para crear un cliente primero y, luego, actualizar los puntos de recompensa. Según el importe total del pedido, el flujo de trabajo seleccionará un multiplicador para calcular los puntos de recompensa del cliente. Consulta el siguiente ejemplo para obtener más detalles.
- calculate_multiplier:
switch:
- condition: ${totalAmount < 10}
steps:
- set_multiplier1:
assign:
- multiplier: 2
- condition: ${totalAmount >= 10 and totalAmount < 25}
steps:
- set_multiplier2:
assign:
- multiplier: 3
- condition: ${totalAmount >= 25}
steps:
- set_multiplier3:
assign:
- multiplier: 5
- calculate_rewards:
assign:
- rewardPoints: ${customerRecord.rewardPoints * multiplier}

4. Configura e implementa el flujo de trabajo
Configura variables de entorno:
export REGION=us-east1
export CUSTOMER_SERVICE_URL=$(gcloud run services describe customer-service \
--platform managed \
--region $REGION \
--format=json | jq \
--raw-output ".status.url")
echo $CUSTOMER_SERVICE_URL
Reemplaza la URL del servicio en la plantilla de flujo de trabajo:
sed "s@CUSTOMER_SERVICE_URL@$CUSTOMER_SERVICE_URL@g" rewardsWorkflow.yaml.tmpl > rewardsWorkflow.yaml
Configura la ubicación del servicio de Workflows y las variables de entorno del proyecto:
gcloud config set workflows/location ${REGION}
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
export PROJECT_NAME=$(gcloud projects describe $PROJECT_ID --format='value(name)')
Crea una cuenta de servicio personalizada para el flujo de trabajo con los siguientes permisos:
- Invoca el servicio de Cloud Run
- Llama a las APIs de Logging
- Publica mensajes en el tema de Pub/Sub
export WORKFLOW_SERVICE_ACCOUNT=workflows-cloudrun-sa
gcloud iam service-accounts create ${WORKFLOW_SERVICE_ACCOUNT}
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/run.invoker"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/pubsub.publisher"
Implementa el flujo de trabajo. El flujo de trabajo está configurado para usar la cuenta de servicio creada en el paso anterior:
export WORKFLOW_NAME=rewardsWorkflow
gcloud workflows deploy ${WORKFLOW_NAME} \
--source=rewardsWorkflow.yaml \
--service-account=${WORKFLOW_SERVICE_ACCOUNT}@$PROJECT_ID.iam.gserviceaccount.com
Revisa la fuente del flujo de trabajo y otros detalles(pestaña Triggers). En este momento, no hay activadores configurados para ejecutar este flujo de trabajo. Lo configurarás en el siguiente paso.

5. Configura temas de Pub/Sub y el activador de Eventarc
A continuación, crearás dos temas de Pub/Sub y configurarás un activador de Eventarc.
El servicio de pedidos publicará mensajes en order-topic con información sobre los pedidos nuevos.
El flujo de trabajo publicará mensajes en order-points-topic con información sobre los puntos de recompensa del pedido y el importe total. El servicio de pedidos(parte no implementada de este lab) expone un extremo que usa la suscripción push para que order-points-topic, actualice los puntos de recompensa y el importe total por pedido.
Crea temas de Pub/Sub nuevos:
export TOPIC_ID=order-topic
export ORDER_POINTS_TOPIC_ID=order-points-topic
gcloud pubsub topics create $TOPIC_ID --project=$PROJECT_ID
gcloud pubsub topics create $ORDER_POINTS_TOPIC_ID --project=$PROJECT_ID
Establece la ubicación del servicio de Eventarc:
gcloud config set eventarc/location ${REGION}
Crea una cuenta de servicio personalizada que usará el activador de Eventarc para ejecutar flujos de trabajo.
export TRIGGER_SERVICE_ACCOUNT=eventarc-workflow-sa
gcloud iam service-accounts create ${TRIGGER_SERVICE_ACCOUNT}
Otorga acceso a la cuenta de servicio para ejecutar flujos de trabajo.
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--member="serviceAccount:${TRIGGER_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--role="roles/workflows.invoker"
Crea un activador de Eventarc para detectar los mensajes de Pub/Sub y entregarlos a Workflows.
gcloud eventarc triggers create new-orders-trigger \
--destination-workflow=${WORKFLOW_NAME} \
--destination-workflow-location=${REGION} \
--event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \
--service-account="${TRIGGER_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--transport-topic=$TOPIC_ID
Resultado de muestra:
Creating trigger [new-orders-trigger] in project [qwiklabs-gcp-01-1a990bfcadb3], location [us-east1]...done. Publish to Pub/Sub topic [projects/qwiklabs-gcp-01-1a990bfcadb3/topics/order-topic] to receive events in Workflow [rewardsWorkflow]. WARNING: It may take up to 2 minutes for the new trigger to become active.
Revisa el activador de Eventarc creado.

Revisa la suscripción creada para el activador.

Revisa los cambios en el lado del flujo de trabajo. Se agregó un activador nuevo.

6. Flujo de trabajo de prueba
Para simular el servicio de pedidos, enviarás mensajes al tema de Pub/Sub desde Cloud Shell y verificarás los registros del servicio de atención al cliente de Cloud Run en la consola de Cloud.
export TOPIC_ID=order-topic
gcloud pubsub topics publish $TOPIC_ID --message '{"userId":"id1","orderNumber":123456,"name":"Angela Jensen","email":"ajensen9090+eats@gmail.com","address":"1845 Denise St","city":"Mountain View","state":"CA","zip":"94043","orderItems":[{"id":7,"createDateTime":"2022-03-17T21:51:44.968584","itemImageURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","itemName":"Curry Plate","itemPrice":12.5,"itemThumbnailURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","spiceLevel":0,"status":"Ready","tagLine":"Spicy touch for your taste buds","updateDateTime":"2022-03-18T01:30:29.340584","inventory":8,"quantity":1}]}'
Resultado de muestra:
messageIds: - '5063709859203105'
Revisa los detalles de la ejecución del flujo de trabajo y los registros.


7. Registro estructurado del flujo de trabajo
El flujo de trabajo está configurado para escribir registros estructurados en formato JSON. Los registros se escriben con la API de Cloud Logging, el recurso workflows.googleapis.com/Workflow y el nombre de registro projects/${PROJECT_ID}/logs/Workflows.
Revisa la configuración de registro a continuación.
- log_totalAmount:
call: sys.log
args:
json:
orderNumber: ${order.orderNumber}
totalAmount: ${totalAmount}
multiplier: ${multiplier}
totalRewardPoints: ${rewardPoints}
orderRewardPoints: ${orderRewardPoints}
severity: INFO
Abre el Explorador de registros en la consola y ejecuta una consulta para los pedidos procesados con un importe total superior a USD 2.
Usa la siguiente consulta y reemplaza el ID del proyecto(qwiklabs-gcp-01-1a990bfcadb3) por el ID de tu proyecto actual:
resource.type="workflows.googleapis.com/Workflow" AND
logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND
jsonPayload.totalAmount > 2 AND
timestamp >= "2022-11-01T23:59:59Z" AND
timestamp <= "2023-11-05T00:00:00Z"
Resultado de muestra:

Abre Cloud Shell y usa la CLI de gcloud para leer los registros con los siguientes comandos.
Reemplaza el ID del proyecto(qwiklabs-gcp-01-1a990bfcadb3) por el ID de tu proyecto actual.
gcloud logging read 'resource.type="workflows.googleapis.com/Workflow" AND logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND jsonPayload.totalAmount > 2 AND timestamp >= "2022-11-01T23:59:59Z" AND timestamp <= "2023-11-05T00:00:00Z"' --limit 10 --format="table(jsonPayload.orderNumber,jsonPayload.totalAmount,jsonPayload.orderRewardPoints,jsonPayload.totalRewardPoints,jsonPayload.multiplier)"
Ejemplo de salida con el formato table:

Reemplaza el ID del proyecto(qwiklabs-gcp-01-1a990bfcadb3) por el ID de tu proyecto actual.
gcloud logging read 'resource.type="workflows.googleapis.com/Workflow" AND logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND jsonPayload.totalAmount > 2 AND timestamp >= "2022-11-01T23:59:59Z" AND timestamp <= "2023-11-05T00:00:00Z"' --limit 10 --format=json | jq
Ejemplo de salida con el formato json:

8. Revisa los registros de clientes
(Pasos opcionales) Por el momento, customer-service está configurado para aceptar tráfico solo de redes internas.
Ejecuta los siguientes comandos para guardar la URL del servicio y llamar a customer-service.
export REGION=us-east1
CUSTOMER_SERVICE_URL=$(gcloud run services describe customer-service \
--region=$REGION \
--format=json | jq \
--raw-output ".status.url")
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $CUSTOMER_SERVICE_URL/customer
Recibirás un mensaje de error que indica que el acceso está prohibido.
<html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>403 Forbidden</title> </head> <body text=#000000 bgcolor=#ffffff> <h1>Error: Forbidden</h1> <h2>Access is forbidden.</h2> <h2></h2> </body></html>
Para ver los registros de clientes existentes, cambia la configuración de entrada de customer-service de Cloud Run a la opción “Allow all traffic” y haz clic en “Guardar”.
Esto hará que el extremo sea público y podrás llamar a la API de Customer Service desde Cloud Shell con curl.

Ejecuta los siguientes comandos para guardar la URL del servicio y enumerar los clientes existentes.
CUSTOMER_SERVICE_URL=$(gcloud run services describe customer-service \
--region=$REGION \
--format=json | jq \
--raw-output ".status.url")
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $CUSTOMER_SERVICE_URL/customer | jq
Resultado de muestra:
[
{
"id": "id1",
"rewardPoints": 3,
"address": "1845 Denise St",
"city": "Mountain View",
"createDateTime": "2022-11-11T15:56:45.487566",
"email": "ajensen9090+eats@gmail.com",
"name": "Angela Jensen",
"state": "CA",
"updateDateTime": "2022-11-11T15:56:45.866125",
"zip": "94043"
}
]
Ejecuta el comando para publicar un pedido nuevo varias veces y verifica los puntos de recompensa del cliente con el comando curl.
Publica un mensaje de pedido nuevo:
export TOPIC_ID=order-topic
gcloud pubsub topics publish $TOPIC_ID --message '{"userId":"id1","orderNumber":123456,"name":"Angela Jensen","email":"ajensen9090+eats@gmail.com","address":"1845 Denise St","city":"Mountain View","state":"CA","zip":"94043","orderItems":[{"id":7,"createDateTime":"2022-03-17T21:51:44.968584","itemImageURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","itemName":"Curry Plate","itemPrice":12.5,"itemThumbnailURL":"https://images.unsplash.com/photo-1618449840665-9ed506d73a34?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80","spiceLevel":0,"status":"Ready","tagLine":"Spicy touch for your taste buds","updateDateTime":"2022-03-18T01:30:29.340584","inventory":8,"quantity":1}]}'
Verifica los puntos de recompensa del cliente:
curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" $CUSTOMER_SERVICE_URL/customer | jq
Verifica los registros. Reemplaza el ID del proyecto(qwiklabs-gcp-01-1a990bfcadb3) por el ID de tu proyecto actual.
gcloud logging read 'resource.type="workflows.googleapis.com/Workflow" AND logName=projects/qwiklabs-gcp-01-1a990bfcadb3/logs/Workflows AND jsonPayload.totalAmount > 2 AND timestamp >= "2022-11-01T23:59:59Z" AND timestamp <= "2023-11-05T00:00:00Z"' --limit 10 --format="table(jsonPayload.orderNumber,jsonPayload.totalAmount,jsonPayload.orderRewardPoints,jsonPayload.totalRewardPoints,jsonPayload.multiplier)"
9. ¡Felicitaciones!
¡Felicitaciones! Completaste el codelab.
Temas abordados:
- Cómo configurar flujos de trabajo
- Cómo configurar el activador de Eventarc para Workflows
- Cómo llamar al servicio de Cloud Run desde Workflows
- Cómo consultar registros estructurados en Cloud Logging y con gcloud CLI
Pasos siguientes:
Explora otros codelabs de Cymbal Eats:
- Cómo activar el procesamiento de eventos desde Cloud Storage
- Conéctate a CloudSQL privado desde Cloud Run
- Conéctate a bases de datos completamente administradas desde Cloud Run
- Protege una aplicación sin servidores con Identity-Aware Proxy (IAP)
- Cómo activar trabajos de Cloud Run con Cloud Scheduler
- Implementación segura en Cloud Run
- Protección del tráfico de entrada de Cloud Run
- Conéctate a una instancia privada de AlloyDB desde GKE Autopilot
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.
