Utilizzo delle operazioni a lunga esecuzione

Questa pagina descrive come utilizzare Cloud AutoML per gestire le operazioni a lunga esecuzione in AutoML Tables.

Introduzione

Alcune operazioni in AutoML Tables richiedono un po' di tempo per il completamento:

  • set di dati.importData
  • set di dati.esportazione
  • set di dati.delete
  • modelle.batchPredict
  • model.create
  • model.delete
  • model.deploy
  • model.exportvalutadEsempi
  • modelli.undeploy

Se utilizzi Google Cloud Console, puoi chiudere la finestra del browser senza che influisca sull'operazione. Il riquadro viene aggiornato al termine dell'operazione.

Quando effettui una chiamata API che richiede molto tempo, la chiamata iniziale rimane subito visibile, anche se l'operazione è ancora in esecuzione. Esistono alcuni metodi di supporto che puoi utilizzare per determinare lo stato di un'operazione a lunga esecuzione.

AutoML Tables invia un'email ai proprietari del progetto al completamento delle operazioni a lunga esecuzione.

Sondaggi per lo stato di un'operazione

Puoi inviare un sondaggio per conoscere lo stato di un'operazione a lunga esecuzione. Questo approccio non blocca il tuo programma, ma devi continuare a partecipare ai sondaggi fino al completamento dell'operazione.

Per ottenere lo stato dell'operazione, devi utilizzare l'ID operazione nella risposta quando hai iniziato l'operazione. L'ID operazione non è visualizzato in Google Cloud Console.

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 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 del tipo di richiesta. Il campo done mostra se l'operazione è stata completata o meno. Se l'operazione è completa, 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 che venga completata (o fino a un timeout da te specificato).

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 è visualizzato in Google Cloud Console.

  • timeout con il tempo massimo di attesa, in frazioni (secondi), terminato da "s". Ad esempio, "4.5s" fa tornare il comando di attesa in 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. L'annullamento non è garantito. Se annulli un'attività di addestramento, ti verrà comunque addebitato il tempo di addestramento utilizzato.

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 in Google Cloud Console.

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