Programar y ejecutar una tarea cron con la Google Cloud consola
En esta guía de inicio rápido se muestra cómo usar la Google Cloud consola para realizar algunas operaciones básicas con Cloud Scheduler.
En esta guía de inicio rápido, harás lo siguiente:
- Crea un tema de Pub/Sub para configurarlo como destino de tu trabajo de Cloud Scheduler.
- Crea una tarea cron con Cloud Scheduler y configura una programación periódica para la tarea.
- Ejecuta el trabajo.
- Comprueba que el trabajo se haya ejecutado correctamente.
Cloud Scheduler tiene un nivel gratuito y, por lo tanto, no deberías incurrir en ningún coste al completar esta guía de inicio rápido. Para obtener más información, consulta los precios.
Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:
Antes de empezar
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Scheduler, Pub/Sub APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Cloud Scheduler Admin, Pub/Sub Editor
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Scheduler, Pub/Sub APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Cloud Scheduler Admin, Pub/Sub Editor
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
-
En la Google Cloud consola, ve a la página Pub/Sub.
Haz clic en Crear tema.
En el campo Topic ID (ID de tema), introduce cron-topic como ID del tema.
Mantén los valores predeterminados, incluida la opción Añadir una suscripción predeterminada.
No selecciones ninguna otra opción.
Haz clic en Crear.
En la Google Cloud consola, ve a la página Cloud Scheduler.
Haz clic en Crear trabajo.
Asigna un nombre al trabajo.
En la lista Región, selecciona una región para tu trabajo.
Especifica una frecuencia para tu trabajo con un formato basado en cron de Unix. Por ejemplo:
30 16 * * 7
Para obtener más información, consulta Configurar programaciones de tareas cron.
En la lista Zona horaria, selecciona una zona horaria.
En algunas zonas horarias, el cambio de horario puede provocar que las tareas se ejecuten o no se ejecuten de forma inesperada. Para obtener más información, consulta Zona horaria.
Haz clic en Continuar.
En la lista Tipo de destino, selecciona Pub/Sub.
Selecciona el tema que has creado antes:
cron-topic
.En el campo Cuerpo del mensaje, introduce una cadena que se enviará al tema de destino de Pub/Sub. Por ejemplo: "Hello world!"
Haz clic en Crear.
En la Google Cloud consola, ve a la página Cloud Scheduler.
Tu trabajo debería aparecer en la lista.
En la fila del trabajo, haz clic en > Forzar ejecución.
AccionesTen en cuenta que, debido a la configuración inicial, la primera tarea creada en un proyecto puede tardar unos minutos en ejecutarse.
En la columna Estado de la última ejecución, el estado
Success
indica que has ejecutado correctamente tu tarea cron.En la Google Cloud consola, ve a la página Suscripciones de Pub/Sub.
Haz clic en la suscripción del tema de Pub/Sub.
Haz clic en la pestaña Mensajes.
Haz clic en Extraer.
Elimina el trabajo cron que has creado:
En la Google Cloud consola, ve a la página Cloud Scheduler.
Selecciona la casilla de tu trabajo.
Haz clic en Eliminar y confirma la eliminación.
Elimina el tema de Pub/Sub:
En la Google Cloud consola, ve a la página Pub/Sub.
Marca la casilla del tema.
Haz clic en Eliminar y confirma la eliminación.
Elimina la suscripción de Pub/Sub:
En la Google Cloud consola, ve a la página Pub/Sub.
Marca la casilla de tu suscripción.
Haz clic en Eliminar y confirma la eliminación.
Si has creado un proyecto para aprender a usar Cloud Scheduler y ya no lo necesitas, puedes eliminarlo:
- 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.
Crear un tema y una suscripción de Pub/Sub
Un tema de Pub/Sub es un recurso al que los editores pueden enviar mensajes. Para recibir mensajes publicados en un tema, debes crear una suscripción a ese tema.
De esta forma, se crea un tema de Pub/Sub llamado cron-topic
y una suscripción a ese tema llamada cron-topic-sub
.
Crear una tarea cron con Cloud Scheduler
Configura una unidad de trabajo programada, conocida como tarea cron, que se envía a un destino de forma periódica.
Has creado un trabajo que envía un mensaje a un tema de Pub/Sub a las 16:30 los domingos. Ahora puedes ejecutar el trabajo.
Ejecutar una tarea
Además de ejecutarse según la programación especificada, puedes forzar que tu trabajo se ejecute inmediatamente.
A continuación, puedes verificar que Pub/Sub ha recibido el mensaje.
Verificar los resultados en Pub/Sub
Comprueba que tu tema de Pub/Sub esté recibiendo mensajes de tu trabajo extrayendo mensajes de Pub/Sub de la suscripción.
Debería aparecer el mensaje que has publicado, con el cuerpo del mensaje,
Hello world
y la hora en que se publicó.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.