Operazioni a lunga esecuzione

Alcuni metodi dell'API Dialogflow restituiscono un'operazione a lunga esecuzione. Questi metodi sono asincroni e l'operazione potrebbe non essere completata quando il metodo restituisce una risposta. Puoi controllare lo stato o annullare le operazioni.

Recupero dello stato di un'operazione

Di seguito viene illustrato come eseguire il polling dello stato di un'operazione. Se devi controllare molte operazioni, dovresti limitare la frequenza delle chiamate utilizza invece il metodo list.

REST

Chiama il metodo get per il tipo Operations.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud
  • OPERATION_ID: il tuo ID operazione
  • API_VERSION: v2 o v2beta1

Metodo HTTP e URL:

GET https://dialogflow.googleapis.com/API_VERSION/projects/my-gcp-project/operations/OPERATION_ID

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_ID/operations/some-operation-name-OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.API_VERSION.SomeOperationType",
    "state": "DONE"
  },
  "done": true,
  ...
}

Al termine dell'operazione, viene restituito un valore state di SUCCESSFUL.

Elenca e annulla le operazioni

Oltre a ottenere un'operazione specifica, puoi elencare e annullare le operazioni. Vedi i metodi list e cancel per Operations di testo.

I risultati di list potrebbero contenere operazioni non correlate all'attività in corso, quindi assicurati di filtrare i risultati.