Programa y ejecuta un trabajo cron con 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:
- Crea un tema de Pub/Sub para configurarlo como destino de tu trabajo de Cloud Scheduler.
- Crea un trabajo cron con Cloud Scheduler y configura un programa recurrente para el trabajo.
- Ejecuta 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 cuenta de Google Cloud . Si es la primera vez que usas 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
- Selecciona 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 el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Crea un proyecto de Google Cloud :
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el proyecto de Google Cloud que estás creando. -
Selecciona el proyecto Google Cloud que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu proyecto de Google Cloud .
-
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 proyecto de Google Cloud .
Habilita las APIs de Cloud Scheduler y Pub/Sub, si alguna aún no está habilitada:
Roles necesarios para habilitar las APIs
Para habilitar APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). 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
- Selecciona 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 el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Crea un proyecto de Google Cloud :
gcloud projects create PROJECT_ID
Reemplaza
PROJECT_IDpor un nombre para el proyecto de Google Cloud que estás creando. -
Selecciona el proyecto Google Cloud que creaste:
gcloud config set project PROJECT_ID
Reemplaza
PROJECT_IDpor el nombre de tu proyecto de Google Cloud .
-
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 proyecto de Google Cloud .
Habilita las APIs de Cloud Scheduler y Pub/Sub, si alguna aún no está habilitada:
Roles necesarios para habilitar las APIs
Para habilitar APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). 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 comando gcloud scheduler jobs create pubsub para configurar una unidad de trabajo conocida como trabajo cron que se envía a un destino de Pub/Sub según una programación recurrente. La programación se especifica con un formato basado en cron de Unix. Para obtener más información, consulta Formato de trabajo cron y zona horaria.
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 de "Hola mundo" 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 el 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 haya recibido el mensaje.
Verifica los resultados en Pub/Sub
Verifica que tu tema de Pub/Sub esté recibiendo 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[...]
Realiza una limpieza
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página, borra el proyecto de Google Cloud que tiene los recursos.
Borra un Google Cloud proyecto:
gcloud projects delete PROJECT_ID
También puedes borrar 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 app de App Engine del proyecto actual si hay una app 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 de 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.