En esta página, se describe cómo ejecutar trabajos de Cloud Run. La ejecución de un trabajo crea una ejecución de trabajo en la que todas las tareas deben ejecutarse hasta completarse con éxito para que la ejecución del trabajo se realice correctamente. Las ejecuciones de trabajos escriben registros en Cloud Logging y envían datos de supervisión a Cloud Monitoring.
Además de estas funciones de registro, también puedes ver los detalles de la ejecución de trabajos para las 1,000 ejecuciones más recientes de un trabajo mediante el panel de detalles de ejecución, junto con las ejecuciones que se produjeron en los últimos siete días. Se quitan los detalles más antiguos de ejecución y ya no son visibles en el panel de detalles de ejecución. Sin embargo, los registros y los datos de supervisión de las ejecuciones más antiguas aún están disponibles en Cloud Logging y Cloud Monitoring, sujetos a las políticas de retención de esos servicios. productos.
Roles obligatorios
Para obtener los permisos que necesitas para las operaciones descritas en esta página, pídele a tu administrador que te otorgue uno de los siguientes roles de IAM en tu trabajo de Cloud Run:
- Para ejecutar trabajos con Google Cloud CLI: Invocador de Cloud Run (
roles/run.invoker) en el trabajo de Cloud Run - Para ejecutar trabajos con la Google Cloud consola, anular configuraciones de trabajos o cancelar ejecuciones de trabajos: Desarrollador de Cloud Run (
roles/run.developer) en el trabajo de Cloud Run
Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu trabajo de Cloud Run interactúa con lasGoogle Cloud APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta los permisos de implementación y cómo administrar el acceso.
Ejecuta trabajos
Puedes ejecutar trabajos con la Google Cloud consola, Google Cloud CLI, las bibliotecas cliente o la API de REST.
Console
Para ejecutar un trabajo, sigue estos pasos:
En la consola de Google Cloud , ve a la página Trabajos de Cloud Run:
Ubica el trabajo que te interesa.
Haz clic en el trabajo para mostrar su página de detalles.
Haz clic en Ejecutar.
gcloud
Para ejecutar un trabajo existente, sigue estos pasos:
gcloud run jobs execute JOB_NAME
Si quieres que el comando espere hasta que se complete la ejecución, usa lo siguiente:
gcloud run jobs execute JOB_NAME --wait --region=REGION
Reemplaza lo siguiente:
- JOB_NAME: Es el nombre del trabajo.
- REGION: Es la región en la que se puede encontrar el recurso. Por
ejemplo,
europe-west1. De manera alternativa, configura la propiedadrun/region.
Bibliotecas cliente
Sigue estos pasos para ejecutar un trabajo existente a partir de código:
API de REST
Para ejecutar un trabajo existente, envía una solicitud HTTP POST al método de la API jobs.run.
Por ejemplo, con curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:run
Reemplaza lo siguiente:
- ACCESS_TOKEN: Es un token de acceso válido para una cuenta que tenga los permisos de IAM para ejecutar un trabajo.
Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con
gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - JOB_NAME: Es el nombre del trabajo.
- REGION: Es la Google Cloud región del trabajo.
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
Ejecuta trabajos de inmediato
Console
Para ejecutar un trabajo de inmediato, sigue estos pasos:
En la consola de Google Cloud , ve a la página Trabajos de Cloud Run:
Si tienes un trabajo existente, haz clic en él para mostrar la página de detalles y, luego, selecciona Ver y editar la configuración del trabajo. Si estás creando un trabajo nuevo, selecciona Implementar contenedor.
Ve a la parte inferior de la página y marca la casilla Ejecutar trabajo de inmediato antes de crear o actualizar el trabajo.
gcloud
Puedes especificar la marca --execute-now cuando crees o actualices un trabajo:
Para crear un trabajo, sigue estos pasos:
gcloud run jobs create JOB_NAME \ --image IMAGE_URL \ --execute-now \ --region=REGION
Actualiza un trabajo:
gcloud run jobs update JOB_NAME --execute-now --region=REGION
Reemplaza lo siguiente:
- JOB_NAME: Es el nombre del trabajo.
- IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,
us-docker.pkg.dev/cloudrun/container/job:latest. - REGION: Es la región en la que se puede encontrar el recurso. Por
ejemplo,
europe-west1.
YAML
Puedes almacenar la especificación de trabajo en un archivo YAML y, luego, implementarla con gcloud CLI.
Si creas un trabajo nuevo, omite este paso. Si actualizas un trabajo existente, descarga su configuración de YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Configura el atributo
startExecutionTokencomo se muestra a continuación:apiVersion: run.googleapis.com/v2 kind: Job metadata: name: JOB_NAME spec: template: spec: template: spec: containers: - image: IMAGE_URL startExecutionToken: START_EXECUTION_SUFFIX
Reemplaza lo siguiente:
- JOB_NAME por el nombre del trabajo de Cloud Run. Los nombres de trabajos deben tener 49 caracteres o menos, y deben ser únicos por región y proyecto.
- IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,
us-docker.pkg.dev/cloudrun/container/job:latest. - START_EXECUTION_SUFFIX: Es una cadena única que se usa como sufijo para crear una nueva ejecución. El trabajo estará listo cuando se inicie la ejecución correctamente. La suma del nombre del trabajo y la longitud del token debe ser inferior a 63 caracteres.
También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.
Crea o actualiza el servicio con el siguiente comando:
gcloud run jobs replace job.yaml
Terraform
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Agrega lo siguiente a un recursogoogle_cloud_run_v2_job en tu configuración de Terraform:resource "google_cloud_run_v2_job" "default" {
name = "cloudrun-job"
location = "REGION"
deletion_protection = false
start_execution_token = "START_EXECUTION_SUFFIX"
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
}
}
}
}
Reemplaza lo siguiente:
- REGION: La Google Cloud región Por ejemplo, europe-west1.
- START_EXECUTION_SUFFIX: Es una cadena única que se usa como sufijo para crear una nueva ejecución. El trabajo estará listo cuando se inicie la ejecución correctamente. La suma del nombre del trabajo y la longitud del token debe ser inferior a 63 caracteres.
Bibliotecas cliente
Para ejecutar un trabajo de inmediato desde el código con las bibliotecas cliente de Cloud, haz lo siguiente:
API de REST
Para ejecutar trabajos inmediatamente después de su creación, envía una solicitud HTTP POST al extremo jobs de la API de Cloud Run Admin.
Por ejemplo, con curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{ "template": { "template": { "containers": { "image": "IMAGE_URL" } } }, "startExecutionToken": "START_EXECUTION_SUFFIX" }' \ "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs?jobId=JOB_NAME"
Reemplaza lo siguiente:
- ACCESS_TOKEN: Es un token de acceso válido para una cuenta que tenga los permisos de IAM para crear trabajos.
Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con
gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - IMAGE_URL: Es una referencia a la imagen del contenedor, por ejemplo,
us-docker.pkg.dev/cloudrun/container/job:latest. - START_EXECUTION_SUFFIX: Es una cadena única que se usa como sufijo para crear una nueva ejecución. El trabajo estará listo cuando se inicie la ejecución correctamente. La suma del nombre del trabajo y la longitud del token debe ser inferior a 63 caracteres.
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
- REGION: Es la Google Cloud región del trabajo.
- JOB_NAME: Es el nombre del trabajo que deseas crear.
Anula la configuración del trabajo para una ejecución específica
Puedes anular los argumentos, las variables de entorno, la cantidad de tareas y el tiempo de espera de la tarea configurados para un trabajo cuando ejecutas un trabajo si configuras estos parámetros cuando inicias una nueva ejecución de trabajo. Los parámetros que especificas solo afectan a esta ejecución y no a los posteriores, ya que la definición del trabajo subyacente permanece sin cambios.
Estos son algunos casos de uso comunes:
- Debes ejecutar el trabajo de manera programática desde tu código y deseas anular argumentos o variables de entorno, por ejemplo, para indicarle al trabajo dónde se encuentran los datos de entrada para esta ejecución.
- Tienes un trabajo en el que cada tarea tiene como objetivo procesar solo un dato de entrada. Deseas anular la cantidad de tareas según la cantidad de entradas que se procesarán.
- El tiempo de ejecución de tu trabajo varía entre ejecuciones. Deseas anular el tiempo de espera de las tareas según el tiempo de ejecución esperado del trabajo.
Para anular la configuración de trabajo de una ejecución, sigue estos pasos:
Console
Ubica el trabajo que te interesa.
Haz clic en el trabajo para mostrar su página de detalles.
Haz clic en la flecha desplegable delante del botón Editar y, luego, en Ejecutar con anulaciones para mostrar el formulario Ejecutar trabajo con anulaciones.
Cambia los argumentos, las variables de entorno, la cantidad de tareas o la configuración del tiempo de espera de la tarea para esta ejecución como desees y haz clic en Ejecutar.
gcloud
Usa el comando:
gcloud run jobs execute JOB_NAME \ --args ARGS \ --update-env-vars KEY=VALUE>,KEY_N=VALUE_N \ --tasks TASKS \ --task-timeout TIMEOUT
Reemplaza lo siguiente:
- JOB_NAME: Es el nombre del trabajo.
- ARGS: Son los argumentos de trabajo.
- KEY y VALUE se sincronizan con las variables de entorno.
- TASKS: Es la cantidad de tareas.
- TIMEOUT: Es el tiempo de espera de la tarea.
Bibliotecas cliente
Para ejecutar un trabajo existente a partir de código, anula la configuración del trabajo:
API de REST
Si deseas anular la configuración de trabajo para un trabajo existente, envía una solicitud HTTP POST a fin de solicitar al extremo jobs de la API de Cloud Run Admin
Por ejemplo, con curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '{"overrides": {"containerOverrides": [{"args": ["ARGS"], "env": [{"name": "KEY", "value": "VALUE"}]}], "taskCount": TASKS, "timeout": "TIMEOUT" }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:run
Reemplaza lo siguiente:
- ACCESS_TOKEN: Es un token de acceso válido para una cuenta que tenga los permisos de IAM para ejecutar anulaciones de trabajos.
Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con
gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - JOB_NAME: Es el nombre del trabajo.
- ARGS: Argumentos del trabajo.
- KEY y VALUE se sincronizan con variables de entorno.
- TASKS: Es la cantidad de tareas.
- TIMEOUT: Es el tiempo de espera de la tarea.
- REGION: Es la Google Cloud región del trabajo.
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
Cancelar la ejecución del trabajo
Para detener la ejecución del trabajo de Cloud Run que se está realizando, usa la función de cancelación. Cancelar la ejecución de un trabajo detiene la ejecución actual del trabajo. Las ejecuciones canceladas tienen el estado cancelado. Todavía podrás ver la ejecución, incluidos sus datos de configuración, registros y datos de supervisión.
Cancelar la ejecución de un trabajo no revierte los cargos por cualquier uso de trabajos de Cloud Run durante el tiempo en que se estaba ejecutando el trabajo.
Para cancelar una ejecución, sigue estos pasos:
Console
Haz clic en el trabajo para abrir su panel de detalles.
Selecciona la ejecución del trabajo que deseas cancelar.
En el menú Acciones, haz clic en el ícono de puntos suspensivos y, luego, en Cancelar.
gcloud
Usa el comando:
gcloud run jobs executions cancel EXECUTION_NAME
Reemplaza EXECUTION_NAME por el nombre de la ejecución.
Este comando solicita confirmación, por lo que debes responder la solicitud; para ello, ingresa
y para confirmar.
Bibliotecas cliente
Para cancelar la ejecución de un trabajo a partir de código, sigue estos pasos:
API de REST
Para cancelar la ejecución de un trabajo, envía una solicitud HTTP POST a fin de solicitar al extremo jobs de la API de Cloud Run Admin.
Por ejemplo, con curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X POST \ -d '' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME/executions/EXECUTION-NAME:cancel
Reemplaza lo siguiente:
- ACCESS_TOKEN: Es un token de acceso válido para una cuenta que tenga los permisos de IAM para cancelar ejecuciones de trabajos.
Por ejemplo, si accediste a gcloud, puedes recuperar un token de acceso con
gcloud auth print-access-token. Desde una instancia de contenedor de Cloud Run, puedes recuperar un token de acceso a través del servidor de metadatos de instancias de contenedor. - JOB_NAME: Es el nombre del trabajo.
- EXECUTION-NAME: Es el nombre de la ejecución del trabajo.
- REGION: Es la Google Cloud región del trabajo.
- PROJECT_ID: Es el ID del proyecto de Google Cloud .
Borra la ejecución de un trabajo
Puedes borrar la ejecución de un trabajo, incluso si se está realizando en este momento. Si borras una ejecución, se impide que la ejecución continúe. Para obtener más información, consulta Borra la ejecución de un trabajo.
¿Qué sigue?
Después de ejecutar un trabajo, puedes hacer lo siguiente:
- Ver registros de trabajos
- Supervisar el rendimiento del trabajo
- Administrar ejecuciones de trabajos
- Administrar empleos