Questa pagina descrive come utilizzare Cloud AutoML per gestire le operazioni a lunga esecuzione in AutoML Tables.
Introduzione
Il completamento di alcune operazioni in AutoML Tables richiede un po' di tempo:
- datasets.importData
- datasets.exportData
- datasets.delete
- models.batchPredict
- models.create
- models.delete
- models.deploy
- models.exportEvaluatedExamples
- models.undeploy
Se utilizzi la console Google Cloud, puoi chiudere la finestra del browser senza influire sull'operazione. Il riquadro si aggiorna al termine dell'operazione.
Quando effettui una chiamata API che richiede molto tempo, la chiamata iniziale restituisce immediatamente, anche se l'operazione è ancora in esecuzione. Esistono alcuni metodi helper che puoi utilizzare per determinare lo stato di un'operazione a lunga esecuzione.
AutoML Tables invia un'email ai proprietari del progetto quando le operazioni a lunga esecuzione sono state completate.
Polling per lo stato di un'operazione
Puoi eseguire il polling per verificare lo stato di un'operazione a lunga esecuzione. Questo approccio non blocca il programma, ma devi continuare a eseguire il polling fino al completamento dell'operazione.
Per ottenere lo stato dell'operazione, utilizza l'ID operazione indicato nella risposta quando hai avviato l'operazione. L'ID operazione non viene visualizzato nella console Google Cloud.
Nel comando seguente, sostituisci operation-name con il nome completo dell'operazione. Il nome completo ha il formato projects/{project-id}/locations/us-central1/operations/{operation-id}
.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ https://automl.googleapis.com/v1beta1/operation-name
Dovresti vedere un output simile al seguente per un'operazione di importazione: nell'output è presente un oggetto metadata
che contiene informazioni specifiche per il tipo di richiesta. Il campo done
mostra se l'operazione è stata completata o meno. Se l'operazione è completata, la risposta contiene informazioni sull'effetto della richiesta.
{ "name": "projects/1234/locations/us-central1/operations/TBL2126", "metadata": { ... }, "done": true, "response": { ... } }
In attesa di un'operazione
Se vuoi bloccare l'esecuzione di questa operazione, puoi attendere il completamento dell'operazione (o fino a un timeout da te specificato).
Nel comando seguente, sostituisci:
operation-name con il nome completo dell'operazione. Il nome completo ha il formato
projects/{project-id}/locations/us-central1/operations/{operation-id}
. L'ID operazione non viene visualizzato nella console Google Cloud.timeout con il tempo massimo di attesa, in secondi (frazionari), terminati da "s". Ad esempio, "4,5 s" fa sì che il comando di attesa restituisca quattro secondi e mezzo se l'operazione è ancora in esecuzione.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ -d '{"timeout":"timeout"}' \ https://automl.googleapis.com/v1beta1/operation-name:wait
Annullamento di un'operazione
Puoi annullare un'attività di importazione o addestramento utilizzando l'ID operazione. Non è garantito che l'annullamento vada a buon fine. Se annulli un'attività di addestramento, ti verranno addebitati i costi per il tempo di addestramento.
L'eliminazione di un'operazione non è supportata.
Nel comando riportato di seguito, sostituisci operation-name con il nome completo dell'operazione.
Il nome completo ha il formato projects/{project-id}/locations/us-central1/operations/{operation-id}
.
L'ID operazione non viene visualizzato nella console Google Cloud.
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://automl.googleapis.com/v1beta1/operation-name:cancel