Operaciones de larga duración

Algunos métodos de la API de Dialogflow devuelven una operación de larga duración. Estos métodos son asíncronos y es posible que la operación no se complete cuando el método devuelva una respuesta. Puedes consultar el estado de las operaciones o cancelarlas.

Obtener el estado de una operación

A continuación, se muestra cómo sondear el estado de una operación. Si tienes muchas operaciones que comprobar, debes limitar la frecuencia de tus llamadas o usar el método list.

REST

Llama al método get para el tipo Operations.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto de GCP
  • OPERATION_ID: el ID de la operación
  • API_VERSION: v2 o v2beta1

Método HTTP y URL:

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

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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,
  ...
}

Cuando se haya completado la operación, se devolverá el valor state de SUCCESSFUL.

Mostrar y cancelar operaciones

Además de obtener una operación específica, puedes enumerar y cancelar operaciones. Consulta los métodos list y cancel del tipo Operations.

Los resultados de list pueden contener operaciones que no estén relacionadas con tu tarea actual, así que asegúrate de filtrar los resultados.