Opérations de longue durée

Certaines méthodes de l'API Dialogflow renvoient une opération de longue durée. Ces méthodes sont asynchrones, et l'opération risque de ne pas être terminée lorsque la méthode renverra une réponse. Vous pouvez vérifier l'état ou annuler des opérations.

Obtenir l'état d'une opération

Pour interroger l'état d'une opération, procédez comme suit : Si vous avez de nombreuses opérations à vérifier, vous devez limiter vos appels ou utiliser la méthode list à la place.

REST

Appelez la méthode get pour le type Operations.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet GCP
  • OPERATION_ID : ID d'opération
  • API_VERSION : v2 ou v2beta1

Méthode HTTP et URL :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Lorsque l'opération est terminée, la valeur SUCCESSFUL est renvoyée pour state.

Répertorier et annuler des opérations

En plus d'obtenir une opération spécifique, vous pouvez répertorier et annuler des opérations. Consultez les méthodes list et cancel pour le type Operations.

Les résultats list peuvent contenir des opérations sans rapport avec votre tâche actuelle. Veillez donc à filtrer les résultats.