Operações de longa duração

Alguns métodos da API Dialogflow devolvem uma operação de longa duração. Estes métodos são assíncronos e a operação pode não estar concluída quando o método devolve uma resposta. Pode verificar o estado ou cancelar operações.

Obtenha o estado de uma operação

O exemplo seguinte mostra como verificar o estado de uma operação. Se tiver muitas operações para verificar, deve limitar a taxa de chamadas ou usar o método list.

REST

Chame o método get para o tipo Operations.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu projeto da GCP
  • OPERATION_ID: o ID da operação
  • API_VERSION: v2 ou v2beta1

Método HTTP e URL:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

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

Quando a operação estiver concluída, é devolvido um valor de state de SUCCESSFUL.

Apresente e cancele operações

Além de obter uma operação específica, pode listar e cancelar operações. Consulte os métodos list e cancel para o tipo Operations.

Os resultados list podem conter operações não relacionadas com a sua tarefa atual. Por isso, certifique-se de que filtra os resultados.