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 mostrato come eseguire il polling dello stato di un'operazione. Se hai molte operazioni da controllare, devi limitare la frequenza delle chiamate o utilizzare il metodo list.

REST

Chiama il metodo get per il tipo Operations.

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

  • PROJECT_ID: il tuo ID 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 di queste 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. Consulta i metodi list e cancel per il tipo Operations.

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