Questa pagina descrive come eseguire job Cloud Run. L'esecuzione di un job crea un'esecuzione del job in cui tutte le attività devono essere eseguite fino al completamento affinché l'esecuzione del job vada a buon fine. Le esecuzioni dei job scrivono i log in Cloud Logging e inviano i dati di monitoraggio a Cloud Monitoring.
Oltre a queste funzionalità di logging, puoi visualizzare i dettagli dell'esecuzione dei job per le più recenti 1000 esecuzioni di un job,utilizzando il riquadro dei dettagli dell'esecuzione, insieme a quelle che si sono verificate negli ultimi sette giorni. I dettagli dell'esecuzione precedenti vengono rimossi e non sono più visibili nel riquadro dei dettagli dell'esecuzione. Tuttavia, i log e i dati di monitoraggio per le esecuzioni meno recenti sono ancora disponibili in Cloud Logging e Cloud Monitoring, in conformità ai criteri di conservazione di questi prodotti.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per le operazioni descritte in questa pagina, chiedi all'amministratore di concederti uno dei seguenti ruoli IAM per il tuo job Cloud Run:
- Per eseguire job utilizzando Google Cloud CLI: Invoker di Cloud Run (
roles/run.invoker
) nel job Cloud Run - Per eseguire job utilizzando la console Google Cloud, eseguire l'override delle configurazioni dei job o annullare le esecuzioni dei job: Sviluppatore Cloud Run (
roles/run.developer
) nel job Cloud Run
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il job Cloud Run si interfaccia con le API Google Cloud, ad esempio le librerie client di Cloud, consulta la guida alla configurazione delle identità dei servizi. Per ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestione dell'accesso.
Esegui job
Puoi eseguire job utilizzando la console Google Cloud o Google Cloud CLI.
Console
Per eseguire un job:
Individua il lavoro che ti interessa.
Fai clic sul job per visualizzare la pagina dei dettagli del job.
Fai clic su Execute (Esegui).
Riga di comando
Per eseguire un job esistente:
gcloud run jobs execute JOB_NAME
Se vuoi che il comando attenda il completamento dell'esecuzione, utilizza
gcloud run jobs execute JOB_NAME --wait --region=REGION
Sostituisci:
- JOB_NAME con il nome del job.
- REGION con la regione in cui si trova la risorsa.
In alternativa, imposta la proprietà
run/region
.
Librerie client
Per eseguire un job esistente dal codice:
API REST
Per eseguire un job esistente, invia una richiesta HTTP POST
al metodo API jobs.run
Ad esempio, utilizzando 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
Sostituisci:
- ACCESS_TOKEN con un token di accesso valido per un account che dispone delle autorizzazioni IAM per l'esecuzione di un job.
Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un token di accesso utilizzando
gcloud auth print-access-token
. Dall'interno di un'istanza di container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza di container. - JOB-NAME con il nome del job.
- REGION con la regione Google Cloud del job.
- PROJECT-ID con l'ID progetto Google Cloud.
Esegui job immediatamente al momento della creazione
Se utilizzi la riga di comando, puoi specificare l'esecuzione del job subito dopo aver creato un job:
gcloud run jobs create JOB_NAME --execute-now --region=REGION
Esegui l'override della configurazione del job per un'esecuzione specifica
Puoi eseguire l'override degli argomenti, delle variabili di ambiente, del numero di attività e del timeout dell'attività configurati per un job quando esegui un job impostando questi parametri all'avvio di una nuova esecuzione. I parametri specificati influiscono solo su questa esecuzione e non su quelle successive, poiché la definizione del job sottostante rimane invariata.
Alcuni casi d'uso comuni includono:
- Esegui il job in modo programmatico dal codice e vuoi sostituire gli argomenti e/o le variabili di ambiente, ad esempio per indicare al job dove si trovano i dati di input per questa esecuzione.
- Hai un job in cui ogni attività ha lo scopo di elaborare un solo dato di input. Vuoi eseguire l'override del numero di attività in base al numero di input da elaborare.
- Il tempo di esecuzione del job varia tra le esecuzioni. Vuoi eseguire l'override del timeout dell'attività in base al tempo di esecuzione previsto del job.
Per eseguire l'override della configurazione del job per un'esecuzione:
Console
Individua il lavoro che ti interessa.
Fai clic sul job per visualizzare la pagina dei dettagli del job.
Fai clic sulla freccia di espansione davanti al pulsante Modifica, quindi su Esegui con override per visualizzare il modulo Esegui job con override.
Modifica come preferisci gli argomenti, le variabili di ambiente, il numero di attività e/o la configurazione del timeout dell'attività per questa esecuzione, quindi fai clic su Esegui.
Riga di comando
Usa il comando:
gcloud run jobs execute JOB_NAME \ --args ARGS \ --update-env-vars KEY=VALUE>,KEY_N=VALUE_N \ --tasks TASKS \ --task-timeout TIMEOUT
Sostituisci
- JOB_NAME con il nome del job.
- ARGS con gli argomenti del job desiderati
- KEY e VALUE vengono accoppiati alle variabili di ambiente desiderate
- TASKS con il numero di attività desiderato
- TIMEOUT con il timeout delle attività desiderato
Librerie client
Per eseguire un job esistente dal codice, sostituendo la configurazione del job:
API REST
Per eseguire l'override della configurazione di un job esistente, invia una richiesta HTTP POST
all'endpoint jobs
dell'API Cloud Run Admin
Ad esempio, utilizzando 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": TASK-COUNT, "timeout": "TIMEOUT" }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run
Sostituisci:
- ACCESS_TOKEN con un token di accesso valido per un account che dispone delle autorizzazioni IAM per eseguire gli override dei job.
Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un token di accesso utilizzando
gcloud auth print-access-token
. Dall'interno di un'istanza di container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza di container. - JOB_NAME con il nome del job.
- ARGS con argomenti job.
- KEY e VALUE vengono accoppiati alle variabili di ambiente.
- TASKS con il numero di attività.
- TIMEOUT con il timeout dell'attività.
- REGION con la regione Google Cloud del job.
- PROJECT-ID con l'ID progetto Google Cloud.
Annulla esecuzione job
Per arrestare l'esecuzione di un job Cloud Run attualmente in esecuzione, utilizza la funzionalità di annullamento. L'annullamento dell'esecuzione di un job interrompe l'esecuzione attuale del job. Le esecuzioni annullate hanno lo stato cancelled. Potrai comunque visualizzare l'esecuzione, inclusi i dati di configurazione, i log e i dati di monitoraggio.
L'annullamento dell'esecuzione di un job non annulla gli addebiti per l'utilizzo dei job Cloud Run nel periodo di esecuzione del job.
Per annullare un'esecuzione:
Console
Fai clic sull'esecuzione del job per visualizzare la pagina dei dettagli dell'esecuzione.
Fai clic su Annulla.
Riga di comando
Usa il comando:
gcloud run jobs executions cancel EXECUTION_NAME
Sostituisci EXECUTION_NAME
con il nome dell'esecuzione.
Questo comando chiede una conferma, quindi rispondi alla richiesta inserendo y
per confermare.
Librerie client
Per annullare l'esecuzione di un job dal codice:
API REST
Per annullare l'esecuzione di un job, invia una richiesta HTTP POST
all'endpoint jobs
dell'API Cloud Run Admin
Ad esempio, utilizzando 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
Sostituisci:
- ACCESS_TOKEN con un token di accesso valido per un account che dispone delle autorizzazioni IAM per annullare le esecuzioni dei job.
Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un token di accesso utilizzando
gcloud auth print-access-token
. Dall'interno di un'istanza di container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza di container. - JOB_NAME con il nome del job.
- EXECUTION-NAME con il nome dell'esecuzione del job.
- REGION con la regione Google Cloud del job.
- PROJECT-ID con l'ID progetto Google Cloud.
Elimina l'esecuzione di un job
Puoi eliminare l'esecuzione di un job, anche se è attualmente in esecuzione. Se elimini un'esecuzione, ne viene interrotta la prosecuzione. Per maggiori dettagli, consulta Eliminare l'esecuzione di un job.
Passaggi successivi
Dopo aver eseguito un job, puoi:
- Visualizza i log del job
- Monitora le prestazioni del job
- Gestire le esecuzioni dei job
- Gestire i job