Pianifica ed esegui un cron job utilizzando gcloud CLI
Questa guida rapida mostra come utilizzare gcloud CLI per eseguire alcune operazioni di base utilizzando Cloud Scheduler.
In questa guida rapida:
- Crea un argomento Pub/Sub da configurare come target del job Cloud Scheduler.
- Crea un cron job utilizzando Cloud Scheduler e configura una pianificazione ricorrente per il job.
- Esegui il job.
- Verificare che il job sia stato eseguito correttamente.
Cloud Scheduler prevede un Livello gratuito e l'esecuzione di questa guida rapida non dovrebbe comportare alcun costo. Per ulteriori informazioni, vedi Prezzi.
Prima di iniziare
- 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.
-
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
-
Create or select 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.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
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.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com -
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
-
Create or select 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.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
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.gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com Configura un argomento Pub/Sub da utilizzare come target per il tuo cron job:
gcloud pubsub topics create cron-topic
Viene creato un argomento denominato
cron-topic
.Per ricevere i messaggi e visualizzare i risultati del job, crea una sottoscrizione Pub/Sub:
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Esegui il pull dei messaggi Pub/Sub da una sottoscrizione:
gcloud pubsub subscriptions pull cron-sub --limit 5
Se inizialmente non vengono estratti messaggi, esegui di nuovo il comando.
Visualizza i risultati dell'esecuzione del job. L'output dovrebbe essere simile al seguente:
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
Elimina il cron job. In Cloud Shell o sulla macchina in cui hai installato gcloud CLI, esegui il comando:
gcloud scheduler jobs delete MY_JOB \ --location="LOCATION"
Sostituisci quanto segue:
MY_JOB
: il nome del job da eliminare.LOCATION
: la sede di lavoro. Per impostazione predefinita, utilizza la posizione dell'app App Engine del progetto attuale, se esiste un'app associata.
Elimina l'argomento Pub/Sub. In Cloud Shell o sulla macchina in cui hai installato gcloud CLI, esegui il comando:
gcloud pubsub topics delete TOPIC_ID
Sostituisci
TOPIC_ID
con l'ID dell'argomento Pub/Sub da eliminare.Elimina la sottoscrizione Pub/Sub. In Cloud Shell o sulla macchina in cui hai installato gcloud CLI, esegui il comando:
gcloud pubsub subscriptions delete SUBSCRIPTION_ID
Sostituisci
SUBSCRIPTION_ID
con l'ID dell'abbonamento Pub/Sub da eliminare.Scopri di più su Cloud Scheduler
Scopri come visualizzare i log di Cloud Scheduler
Crea un argomento e una sottoscrizione Pub/Sub
Un argomento Pub/Sub è una risorsa a cui i publisher possono inviare messaggi. Per ricevere messaggi pubblicati in un argomento, devi creare una sottoscrizione all'argomento.
Crea un cron job con Cloud Scheduler
Utilizza il comando gcloud scheduler jobs create pubsub
per configurare un'unità di lavoro nota come cron job che viene inviata a una destinazione Pub/Sub in base a una pianificazione ricorrente. La pianificazione viene specificata
utilizzando un formato basato su unix-cron. Per saperne di più, consulta Formato cron job e fuso orario.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-central1" \
--message-body="Hello world"
Hai creato un job che invia un messaggio "Hello world " all'argomento Pub/Sub alle 16:30 di domenica.
Ora puoi eseguire il job.
Esegui il job
Oltre a essere eseguito in base alla pianificazione specificata, puoi forzare l'esecuzione immediata del job:
gcloud scheduler jobs run my-cron-job --location="us-central1"
Tieni presente che, a causa della configurazione iniziale, l'esecuzione del primo job creato in un progetto può richiedere alcuni minuti.
Successivamente, puoi verificare che l'argomento Pub/Sub abbia ricevuto il messaggio.
Verifica i risultati in Pub/Sub
Verifica che l'argomento Pub/Sub riceva messaggi dal job.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud con le risorse.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
In alternativa, elimina le risorse che hai creato per questa guida rapida: