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 delle operazioni o annullarle.

Recupero dello stato di un'operazione

Di seguito viene mostrato come eseguire il polling dello stato di un'operazione. Se devi controllare molte operazioni, devi limitare la frequenza delle chiamate o utilizzare il metodo list.

REST

Chiama il metodo get per il Operations tipo.

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

  • PROJECT_ID: il tuo ID progetto Google Cloud
  • OPERATION_ID: il tuo ID operazione
  • API_VERSION: o 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.

Elenco e annullamento delle operazioni

Oltre a ottenere un'operazione specifica, puoi elencare e annullare le operazioni. Consulta i metodi list e cancel per il Operations tipo.

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