Programa y ejecuta un trabajo cron con la gcloud CLI
En esta guía de inicio rápido, se muestra cómo usar gcloud CLI para realizar algunas operaciones básicas con Cloud Scheduler.
En esta guía de inicio rápido, podrás hacer lo siguiente:
- Crear un tema de Pub/Sub para configurarlo como destino de tu trabajo de Cloud Scheduler
- Crear un trabajo cron con Cloud Scheduler y configurar un programa recurrente para el trabajo
- Ejecutar tu trabajo
- Verificar si el trabajo se ejecutó de forma correcta
Cloud Scheduler cuenta con un nivel gratuito, por lo que ejecutar esta guía de inicio rápido no debería generar ningún costo. Para obtener más información, consulta Precios.
Antes de comenzar
- Accede a tu Google Cloud cuenta de. 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.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Para crear un Google Cloud proyecto de, haz lo siguiente:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita las APIs de Cloud Scheduler y Pub/Sub:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com -
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
Crea o selecciona un Google Cloud proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Para crear un Google Cloud proyecto de, haz lo siguiente:
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el Google Cloud proyecto de que estás creando. -
Selecciona el Google Cloud proyecto de que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu Google Cloud proyecto de.
-
Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.
-
Verifica que la facturación esté habilitada para tu Google Cloud proyecto.
Habilita las APIs de Cloud Scheduler y Pub/Sub:
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene elserviceusage.services.enablepermiso. Obtén más información para otorgar roles.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com
Roles obligatorios
Si quieres obtener los permisos que necesitas para completar esta guía de inicio rápido, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
- Administrador de Cloud Scheduler (
roles/cloudscheduler.admin) - Editor de Pub/Sub (
roles/pubsub.editor)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Crear un tema de Pub/Sub y una suscripción
Un tema de Pub/Sub es un recurso al que los publicadores pueden enviar mensajes. Para recibir mensajes publicados en un tema, debes crear una suscripción a ese tema.
Configura un tema de Pub/Sub para usar como destino de tu trabajo cron:
gcloud pubsub topics create cron-topicEsto crea un tema llamado
cron-topic.Para recibir mensajes y ver los resultados de tu trabajo, crea una suscripción a Pub/Sub:
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Crea un trabajo cron con Cloud Scheduler
Usa el gcloud scheduler jobs create pubsub
comando para configurar una unidad de trabajo conocida como trabajo cron que se envía a un
destino de Pub/Sub en un programa recurrente. El programa se especifica con un formato basado en unix-cron. Para obtener más información, consulta
Formato y zona horaria de trabajos cron.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-east1" \
--message-body="Hello world"
Creaste un trabajo que envía un mensaje "Hello world" a tu tema de Pub/Sub a las 16:30 los domingos.
Ahora puedes ejecutar el trabajo.
Ejecuta tu trabajo
Además de ejecutarse según su programa especificado, puedes forzar la ejecución inmediata de tu trabajo:
gcloud scheduler jobs run my-cron-job --location="us-east1"
Ten en cuenta que, debido a la configuración inicial, el primer trabajo creado en un proyecto puede tardar unos minutos en ejecutarse.
A continuación, puedes verificar que tu tema de Pub/Sub recibió el mensaje.
Verifica los resultados en Pub/Sub
Verifica que tu tema de Pub/Sub esté recibiendo los mensajes de tu trabajo.
Extraer mensajes de Pub/Sub de una suscripción:
gcloud pubsub subscriptions pull cron-sub --limit 5Si no se muestran mensajes inicialmente, vuelve a ejecutar el comando.
Consulta los resultados de la ejecución de tu trabajo. El resultado debería ser similar al siguiente:
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
Limpia
Para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página, borra el Google Cloud proyecto de que tiene los recursos.
Para borrar un Google Cloud proyecto de, haz lo siguiente:
gcloud projects delete PROJECT_ID
Como alternativa, borra los recursos que creaste para esta guía de inicio rápido:
Borra el trabajo cron. En Cloud Shell o en la máquina en la que instalaste gcloud CLI, ejecuta el siguiente comando:
gcloud scheduler jobs delete MY_JOB \ --location="LOCATION"Reemplaza lo siguiente:
MY_JOB: Es el nombre del trabajo que se borrará.LOCATION: Es la ubicación del trabajo. De forma predeterminada, usa la ubicación de la aplicación de App Engine del proyecto actual si hay una aplicación asociada.
Borra el tema de Pub/Sub. En Cloud Shell o en la máquina en la que instalaste la gcloud CLI, ejecuta el siguiente comando:
gcloud pubsub topics delete TOPIC_IDReemplaza
TOPIC_IDpor el ID del tema de Pub/Sub que se borrará.Borra la suscripción a Pub/Sub. En Cloud Shell o en la máquina en la que instalaste la gcloud CLI, ejecuta el siguiente comando:
gcloud pubsub subscriptions delete SUBSCRIPTION_IDReemplaza
SUBSCRIPTION_IDpor el ID de la suscripción a Pub/Sub que se borrará.
¿Qué sigue?
Obtén más información sobre Cloud Scheduler.
Aprende cómo ver los registros de Cloud Scheduler.