Utilizzo delle operazioni a lunga esecuzione

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