Questa pagina descrive come gestire le operazioni a lunga esecuzione in AutoML Natural Language.
Introduzione
Il completamento di alcune operazioni in AutoML Natural Language richiede un po' di tempo:
- datasets.importData
- datasets.exportData
- datasets.delete
- models.batchPredict
- models.create
- models.delete
- models.deploy
- models.undeploy
Se utilizzi l'interfaccia utente di AutoML Natural Language, 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 Natural Language invia ai proprietari del progetto un'email quando vengono completate le operazioni a lunga esecuzione.
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 dalla risposta quando hai avviato l'operazione.
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/v1/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/TBL2126599795587061786", "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}
.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/v1/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. 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}
.
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://automl.googleapis.com/v1/operation-name:cancel