Workflows te permite ejecutar tareas de Cloud Run como parte de un flujo de trabajo para llevar a cabo procesos de datos más complejos u orquestar un sistema de tareas.
En este tutorial se muestra cómo usar Workflows para ejecutar una tarea de Cloud Run que procesa los datos transferidos como variables de entorno a la tarea en respuesta a un evento de Cloud Storage.
Ten en cuenta que también puedes almacenar los datos de eventos en un segmento de Cloud Storage, lo que te permite cifrar los datos con claves de cifrado gestionadas por el cliente. Para obtener más información, consulta Ejecutar una tarea de Cloud Run que procese datos de eventos guardados en Cloud Storage.
Objetivos
En este tutorial, aprenderás a hacer lo siguiente:
- Crea una tarea de Cloud Run que procese archivos de datos en un segmento de Cloud Storage.
- Despliega un flujo de trabajo que haga lo siguiente:
- Acepta un evento de Cloud Storage como argumento.
- Comprueba si el segmento de Cloud Storage especificado en el evento es el mismo que usa el trabajo de Cloud Run.
- Si es así, usa el conector de la API Admin de Cloud Run para ejecutar la tarea de Cloud Run.
- Crea un activador de Eventarc que ejecute el flujo de trabajo en respuesta a eventos que afecten al segmento de Cloud Storage.
- Activa el flujo de trabajo actualizando un archivo de datos de entrada en el segmento de Cloud Storage.
Costes
En este documento, se utilizan los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costes basada en el uso previsto,
utiliza la calculadora de precios.
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 .
Consola
- 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Eventarc, and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Workflows Invoker.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run, Cloud Storage, Eventarc, and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the following roles to the service account: Cloud Run Admin, Eventarc Event Receiver, Logs Writer, Workflows Invoker.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
Click Done to finish creating the service account.
-
- Antes de crear un activador para eventos directos de Cloud Storage, concede el rol Editor de Pub/Sub (
roles/pubsub.publisher
) al agente de servicio de Cloud Storage:- En la consola de Google Cloud , ve a la página IAM.
- Selecciona la casilla Incluir concesiones de roles proporcionadas por Google.
- En la columna Principal, busca el agente de servicio de Cloud Storage con el formato
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
, y, a continuación, haz clic en Editar principal en la fila correspondiente. - Haz clic en Añadir rol o en Añadir otro rol.
- En la lista Selecciona un rol, busca Pub/Sub Publisher y, a continuación, selecciona el rol.
- Haz clic en Guardar.
- En la consola de Google Cloud , ve a la página IAM.
- Si habilitaste el agente de servicio de Cloud Pub/Sub el 8 de abril del 2021 o antes para admitir solicitudes push de Pub/Sub autenticadas, otorga el rol Creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator
) al agente de servicio. De lo contrario, este rol se asigna de forma predeterminada:- En la consola de Google Cloud , ve a la página IAM.
- Selecciona la casilla Incluir concesiones de roles proporcionadas por Google.
- En la columna Nombre, busca la cuenta de servicio de Cloud Pub/Sub y, a continuación, haz clic en Editar principal en la fila correspondiente.
- Haz clic en Añadir rol o en Añadir otro rol.
- En la lista Selecciona un rol, busca Creador de tokens de cuenta de servicio y selecciona el rol.
- Haz clic en Guardar.
- En la consola de Google Cloud , ve a la página IAM.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Cloud Shell admite los comandos Para usar un terminal online con la CLI de gcloud ya configurada, activa Cloud Shell:
En la parte inferior de esta página, se inicia una sesión de Cloud Shell y se muestra un mensaje de la línea de comandos. La sesión puede tardar unos segundos en inicializarse.
Cloud Shell admite los comandos
/dev/urandom
de este tutorial que generan números pseudoaleatorios.- Crea o selecciona un Google Cloud proyecto.
-
Crea un Google Cloud proyecto:
gcloud projects create PROJECT_ID
-
Selecciona el Google Cloud proyecto que has creado:
gcloud config set project PROJECT_ID
-
- Asegúrate de que la facturación esté habilitada en tu Google Cloud proyecto.
- Habilita las Artifact Registry, Cloud Build,
Cloud Run, Cloud Storage, Eventarc,
and Workflows APIs:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com \ storage.googleapis.com \ workflows.googleapis.com
- Crea una cuenta de servicio para que tu flujo de trabajo la use para autenticarse con otros servicios Google Cloud y concédele los roles adecuados.
- Crea la cuenta de servicio:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Sustituye
SERVICE_ACCOUNT_NAME
por el nombre de la cuenta de servicio. - Asigna roles a la cuenta de servicio gestionada por el usuario que has creado en el paso anterior. Ejecuta el siguiente comando una vez por cada uno de los siguientes roles de gestión de identidades y accesos o usa la marca
--role
varias veces en un solo comando:roles/eventarc.eventReceiver
: para recibir eventosroles/logging.logWriter
: para escribir registrosroles/run.admin
: para ejecutar el trabajo de Cloud Runroles/workflows.invoker
: para invocar flujos de trabajo
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role=ROLE
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que has creado la cuenta de servicioROLE
: el rol que se va a asignar a la cuenta de servicio gestionada por el usuario
- Crea la cuenta de servicio:
- Antes de crear un activador para eventos directos de Cloud Storage, concede el rol Publicador de Pub/Sub (
roles/pubsub.publisher
) al agente de servicio de Cloud Storage:SERVICE_ACCOUNT="$(gcloud storage service-agent --project=PROJECT_ID)" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role='roles/pubsub.publisher'
- Si habilitaste el agente de servicio de Cloud Pub/Sub el 8 de abril del 2021 o antes para admitir solicitudes push de Pub/Sub autenticadas, asigna el rol Creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator
) al agente de servicio. De lo contrario, este rol se asigna de forma predeterminada:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
Para usar un terminal online con la CLI de gcloud ya configurada, activa Cloud Shell:
En la parte inferior de esta página, se inicia una sesión de Cloud Shell y se muestra un mensaje de la línea de comandos. La sesión puede tardar unos segundos en inicializarse.
Cloud Shell admite los comandos
/dev/urandom
de este tutorial que generan números pseudoaleatorios.- Crea o selecciona un Google Cloud proyecto.
-
Crea un Google Cloud proyecto:
gcloud projects create PROJECT_ID
-
Selecciona el Google Cloud proyecto que has creado:
gcloud config set project PROJECT_ID
-
- Asegúrate de que la facturación esté habilitada en tu Google Cloud proyecto.
- Habilita las Artifact Registry, Cloud Build,
Cloud Run, Cloud Storage, Eventarc,
and Workflows APIs:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ eventarc.googleapis.com \ run.googleapis.com \ storage.googleapis.com \ workflows.googleapis.com
Crea una cuenta de servicio para que tu flujo de trabajo la use para autenticarse con otros servicios Google Cloud y concédele los roles adecuados. Además, para admitir eventos directos de Cloud Storage, asigna el rol Pub/Sub Publisher (
roles/pubsub.publisher
) al agente de servicio de Cloud Storage.Modifique el archivo
main.tf
tal como se muestra en el siguiente ejemplo. Para obtener más información, consulta la documentación del proveedor de Google para Terraform.Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Ten en cuenta que, en un flujo de trabajo típico de Terraform, aplicas todo el plan a la vez. Sin embargo, para este tutorial, puedes orientar la publicidad a un recurso específico. Por ejemplo:
terraform apply -target="google_service_account.workflows"
- Si habilitaste el agente de servicio de Cloud Pub/Sub el 8 de abril del 2021 o antes para admitir solicitudes push de Pub/Sub autenticadas, asigna el rol Creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator
) al agente de servicio. De lo contrario, este rol se asigna de forma predeterminada:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com \ --role=roles/iam.serviceAccountTokenCreator
/dev/urandom
de este tutorial, que generan números pseudoaleatorios.
gcloud
Sustituye PROJECT_NUMBER
por el número de tu proyecto. Google Cloud
Puedes encontrar el número de tu proyecto en la página Bienvenido de la consola Google Cloud o ejecutando el siguiente comando:
gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Terraform
Sustituye PROJECT_NUMBER
por el número de tu proyecto. Google Cloud
Puedes encontrar el número de tu proyecto en la página Bienvenido de la consola Google Cloud o ejecutando el siguiente comando:
gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Crear un trabajo de Cloud Run
En este tutorial se usa un trabajo de Cloud Run de ejemplo de GitHub. El trabajo lee datos de un archivo de entrada en Cloud Storage y realiza algún procesamiento arbitrario para cada línea del archivo.
Para obtener el código de ejemplo, clona el repositorio de la aplicación de ejemplo en tu máquina local:
git clone https://github.com/GoogleCloudPlatform/jobs-demos.git
También puedes descargar el ejemplo como un archivo ZIP y extraerlo.
Accede al directorio que contiene el código de muestra:
cd jobs-demos/parallel-processing
Crea un segmento de Cloud Storage para almacenar un archivo de entrada en el que se pueda escribir y que active un evento:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
- Haz clic en Añadir Crear.
- En la página Crear un contenedor, introduce un nombre para el contenedor:
Sustituyeinput-PROJECT_ID
PROJECT_ID
por el ID de tu Google Cloud proyecto. - Mantén los demás valores predeterminados.
- Haz clic en Crear.
gcloud
Ejecuta el comando
gcloud storage buckets create
:gcloud storage buckets create gs://input-PROJECT_ID
Si la solicitud se realiza correctamente, el comando devuelve el siguiente mensaje:
Creating gs://input-PROJECT_ID/...
Terraform
Para crear un segmento de Cloud Storage, usa el recurso
google_storage_bucket
y modifica el archivomain.tf
como se muestra en el siguiente ejemplo.Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Ten en cuenta que, en un flujo de trabajo típico de Terraform, aplicas todo el plan a la vez. Sin embargo, en este tutorial, puedes orientar los anuncios a un recurso específico. Por ejemplo:
terraform apply -target="random_id.bucket_name_suffix"
y
terraform apply -target="google_storage_bucket.default"
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
Crea un repositorio estándar de Artifact Registry donde puedas almacenar tu imagen de contenedor:
Consola
En la Google Cloud consola, ve a la página Repositorios de Artifact Registry:
Haz clic en
Crear repositorio.Asigna un nombre al repositorio (por ejemplo,
my-repo
). Los nombres de los repositorios deben ser únicos en cada ubicación de repositorio de un proyecto.Mantén el formato predeterminado, que debe ser Docker.
Mantén el modo predeterminado, que debe ser Estándar.
En la región, selecciona us-central1 (Iowa).
Conserva el resto de los valores predeterminados.
Haz clic en Crear.
gcloud
Ejecuta el comando:
gcloud artifacts repositories create REPOSITORY \ --repository-format=docker \ --location=us-central1
Sustituye
REPOSITORY
por un nombre único para el repositorio (por ejemplo,my-repo
). Los nombres de los repositorios deben ser únicos en cada ubicación de repositorio de un proyecto.Terraform
Para crear un repositorio de Artifact Registry, usa el recurso
google_artifact_registry_repository
y modifica el archivomain.tf
como se muestra en el siguiente ejemplo.Ten en cuenta que, en un flujo de trabajo típico de Terraform, aplicas todo el plan a la vez. Sin embargo, para este tutorial, puedes orientar la publicidad a un recurso específico. Por ejemplo:
terraform apply -target="google_artifact_registry_repository.default"
Crea la imagen de contenedor con un paquete de compilación Google Cloud predeterminado:
export SERVICE_NAME=parallel-job gcloud builds submit \ --pack image=us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/${SERVICE_NAME}
Sustituye
REPOSITORY
por el nombre de tu repositorio de Artifact Registry.La compilación puede tardar un par de minutos en completarse.
Crea un trabajo de Cloud Run que despliegue la imagen de contenedor:
Consola
En la Google Cloud consola, ve a la página Cloud Run:
Haz clic en Crear tarea para que se muestre el formulario Crear tarea.
- En el formulario, seleccione
us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/parallel-job:latest
como URL de la imagen de contenedor de Artifact Registry. - Opcional: En el nombre del trabajo, introduce
parallel-job
. - Opcional: En la región, selecciona us-central1 (Iowa).
- Para indicar el número de tareas que quieres ejecutar en el trabajo, introduce
10
. Todas las tareas deben completarse correctamente para que el trabajo se realice correctamente. De forma predeterminada, las tareas se ejecutan en paralelo.
- En el formulario, seleccione
Despliega la sección Contenedor, variables y secretos, conexiones y seguridad y conserva todos los valores predeterminados, excepto los siguientes:
Haz clic en la pestaña General.
- En el comando del contenedor, introduce
python
. - En el argumento del contenedor, introduce
process.py
.
- En el comando del contenedor, introduce
Haz clic en la pestaña Variables y secretos.
- Haga clic en Añadir variable e introduzca
INPUT_BUCKET
en el nombre yinput-PROJECT_ID
en el valor. - Haz clic en Añadir variable e introduce
INPUT_FILE
en el nombre yinput_file.txt
en el valor.
- Haga clic en Añadir variable e introduzca
Para crear el trabajo, haz clic en Crear.
gcloud
Define la región predeterminada de Cloud Run:
gcloud config set run/region us-central1
Crea el trabajo de Cloud Run:
gcloud run jobs create parallel-job \ --image us-central1-docker.pkg.dev/PROJECT_ID/REPOSITORY/parallel-job:latest \ --command python \ --args process.py \ --tasks 10 \ --set-env-vars=INPUT_BUCKET=input-PROJECT_ID,INPUT_FILE=input_file.txt
Tenga en cuenta que, si no especifica una etiqueta de imagen, Artifact Registry buscará la imagen con la etiqueta
latest
predeterminada.Para ver una lista completa de las opciones disponibles al crear un trabajo, consulta la documentación de la línea de comandos gcloud run jobs create.
Una vez que se haya creado el trabajo, debería aparecer un mensaje que indique que se ha realizado correctamente.
Terraform
Para crear un trabajo de Cloud Run, usa el recurso
google_cloud_run_v2_job
y modifica el archivomain.tf
como se muestra en el siguiente ejemplo.Ten en cuenta que, en un flujo de trabajo típico de Terraform, aplicas todo el plan a la vez. Sin embargo, para este tutorial, puedes orientar la publicidad a un recurso específico. Por ejemplo:
terraform apply -target="google_cloud_run_v2_job.default"
Desplegar un flujo de trabajo que ejecute el trabajo de Cloud Run
Define y despliega un flujo de trabajo que ejecute el trabajo de Cloud Run que acabas de crear. Una definición de flujo de trabajo se compone de una serie de pasos descritos mediante la sintaxis de Workflows.
Consola
En la Google Cloud consola, ve a la página Flujos de trabajo:
Haz clic en
Crear.Escribe un nombre para el nuevo flujo de trabajo, como
cloud-run-job-workflow
.En la región, selecciona us-central1 (Iowa).
En el campo Cuenta de servicio, selecciona la cuenta que has creado anteriormente.
La cuenta de servicio actúa como identidad del flujo de trabajo. Ya deberías haber concedido el rol Administrador de Cloud Run a la cuenta de servicio para que el flujo de trabajo pueda ejecutar el trabajo de Cloud Run.
Haz clic en Siguiente.
En el editor del flujo de trabajo, introduce la siguiente definición para tu flujo de trabajo:
Haz clic en Desplegar.
gcloud
Crea un archivo de código fuente para tu flujo de trabajo:
touch cloud-run-job-workflow.yaml
Copia la siguiente definición de flujo de trabajo en tu archivo de código fuente:
Para desplegar el flujo de trabajo, introduce el siguiente comando:
gcloud workflows deploy cloud-run-job-workflow \ --location=us-central1 \ --source=cloud-run-job-workflow.yaml \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Haz los cambios siguientes:
SERVICE_ACCOUNT_NAME
: el nombre de la cuenta de servicio que has creado antesPROJECT_ID
: el ID de tu Google Cloud proyecto
La cuenta de servicio actúa como identidad del flujo de trabajo. Ya deberías haber concedido el rol
roles/run.admin
a la cuenta de servicio para que el flujo de trabajo pueda ejecutar el trabajo de Cloud Run.
Terraform
Para crear un flujo de trabajo, usa el recurso google_workflows_workflow
y modifica el archivo main.tf
como se muestra en el siguiente ejemplo.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Ten en cuenta que, en un flujo de trabajo típico de Terraform, aplicas todo el plan a la vez. Sin embargo, en este tutorial, puedes segmentar un recurso específico. Por ejemplo:
terraform apply -target="google_workflows_workflow.default"
El flujo de trabajo hace lo siguiente:
Paso
init
: acepta un evento de Cloud Storage como argumento y, a continuación, define las variables necesarias.Paso
check_input_file
: comprueba si el segmento de Cloud Storage especificado en el evento es el que usa el trabajo de Cloud Run.- Si es así, el flujo de trabajo pasa al paso
run_job
. - Si no es así, el flujo de trabajo finaliza y se detiene cualquier otro procesamiento.
- Si es así, el flujo de trabajo pasa al paso
Paso
run_job
: usa el métodogoogleapis.run.v1.namespaces.jobs.run
del conector de la API Admin de Cloud Run para ejecutar el trabajo. Los nombres del segmento de Cloud Storage y del archivo de datos se transfieren a la tarea desde el flujo de trabajo como variables de anulación.Paso
finish
: devuelve información sobre la ejecución del trabajo como resultado del flujo de trabajo.
Crear un activador de Eventarc para el flujo de trabajo
Para ejecutar automáticamente el flujo de trabajo y, a su vez, la tarea de Cloud Run cada vez que se actualice el archivo de datos de entrada, crea un activador de Eventarc que responda a los eventos de Cloud Storage en el segmento que contenga el archivo de datos de entrada.
Consola
En la Google Cloud consola, ve a la página Flujos de trabajo:
Haz clic en el nombre del flujo de trabajo, como
cloud-run-job-workflow
.En la página Detalles del flujo de trabajo, haz clic en
Editar.En la página Editar flujo de trabajo, en la sección Activadores, haz clic en Añadir nuevo activador > Eventarc.
Se abrirá el panel Desencadenador de Eventarc.
En el campo Nombre del activador, escribe un nombre para el activador, como
cloud-run-job-workflow-trigger
.En la lista Proveedor de eventos, selecciona Cloud Storage.
En la lista Event (Evento), selecciona google.cloud.storage.object.v1.finalized.
En el campo Segmento, selecciona el segmento que contiene el archivo de datos de entrada. El nombre del segmento tiene el formato
input-PROJECT_ID
.En el campo Cuenta de servicio, selecciona la cuenta que has creado anteriormente.
La cuenta de servicio actúa como identidad del activador. Ya deberías haber concedido los siguientes roles a la cuenta de servicio:
- Receptor de evento Eventarc: para recibir eventos
- Invocador de flujos de trabajo: para ejecutar flujos de trabajo
Haz clic en Guardar activador.
El activador de Eventarc ahora aparece en la sección Activadores de la página Editar flujo de trabajo.
Haz clic en Siguiente.
Haz clic en Desplegar.
gcloud
Para crear un activador de Eventarc, ejecuta el siguiente comando:
gcloud eventarc triggers create cloud-run-job-workflow-trigger \ --location=us \ --destination-workflow=cloud-run-job-workflow \ --destination-workflow-location=us-central1 \ --event-filters="type=google.cloud.storage.object.v1.finalized" \ --event-filters="bucket=input-PROJECT_ID" \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Haz los cambios siguientes:
PROJECT_ID
: el ID de tu Google Cloud proyectoSERVICE_ACCOUNT_NAME
: el nombre de la cuenta de servicio que has creado antes.
La cuenta de servicio actúa como identidad del activador. Ya deberías haber concedido los siguientes roles a la cuenta de servicio:
roles/eventarc.eventReceiver
: para recibir eventosroles/workflows.invoker
: para ejecutar flujos de trabajo
Terraform
Para crear un activador, usa el recurso google_eventarc_trigger
y modifica el archivo main.tf
como se muestra en el siguiente ejemplo.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Ten en cuenta que, en un flujo de trabajo típico de Terraform, aplicas todo el plan a la vez. Sin embargo, en este tutorial, puedes segmentar un recurso específico. Por ejemplo:
terraform apply -target="google_eventarc_trigger.default"
Cada vez que se sube o se sobrescribe un archivo en el segmento de Cloud Storage que contiene el archivo de datos de entrada, el flujo de trabajo se ejecuta con el evento de Cloud Storage correspondiente como argumento.
Activar el flujo de trabajo
Prueba el sistema integral actualizando el archivo de datos de entrada en Cloud Storage.
Genera datos nuevos para el archivo de entrada y súbelos a Cloud Storage en la ubicación que espera la tarea de Cloud Run:
base64 /dev/urandom | head -c 100000 >input_file.txt gcloud storage cp input_file.txt gs://input-PROJECT_ID/input_file.txt
Si has creado un segmento de Cloud Storage con Terraform, puedes obtener el nombre del segmento ejecutando el siguiente comando:
gcloud storage buckets list gs://input*
El trabajo de Cloud Run puede tardar unos minutos en ejecutarse.
Para confirmar que la tarea de Cloud Run se ha ejecutado correctamente, consulta las ejecuciones de la tarea:
gcloud config set run/region us-central1 gcloud run jobs executions list --job=parallel-job
En el resultado, debería aparecer que la tarea se ha ejecutado correctamente y que se han completado
10/10
tareas.
Consulta más información sobre cómo activar un flujo de trabajo con eventos o mensajes de Pub/Sub.
Limpieza
Si has creado un proyecto para este tutorial, elimínalo. Si has usado un proyecto y quieres conservarlo sin los cambios que se han añadido en este tutorial, elimina los recursos creados para el tutorial.
Eliminar el proyecto
La forma más fácil de evitar que te cobren es eliminar el proyecto que has creado para el tutorial.
Para ello, sigue las instrucciones que aparecen a continuación:
- 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.
Eliminar recursos del tutorial
Elimina los recursos que has creado en este tutorial:
Elimina el activador de Eventarc:
gcloud eventarc triggers delete cloud-run-job-workflow-trigger --location=us
Elimina el flujo de trabajo:
gcloud workflows delete cloud-run-job-workflow --location=us-central1
Elimina el trabajo de Cloud Run:
gcloud run jobs delete parallel-job
Elimina el segmento de Cloud Storage creado para los datos de entrada:
gcloud storage rm --recursive gs://input-PROJECT_ID/
Elimina el repositorio de Artifact Registry:
gcloud artifacts repositories delete REPOSITORY --location=us-central1
Siguientes pasos
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-20 (UTC).