Lang andauernde Vorgänge

Einige Methoden der Dialogflow API lösen einen lang andauernden Vorgang aus. Diese Methoden sind asynchron und der Vorgang ist möglicherweise noch nicht abgeschlossen, wenn die Methode eine Antwort zurückgibt. Sie können den Status prüfen oder Vorgänge abbrechen.

Vorgangsstatus abrufen

Das folgende Beispiel zeigt, wie Sie den Status eines Vorgangs abrufen. Wenn Sie viele Vorgänge prüfen müssen, sollten Sie die Rate einschränken oder stattdessen die Methode Liste verwenden.

REST

Rufen Sie die Methode get für den Typ Operations auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: ID Ihres GCP-Projekts
  • OPERATION_ID: Ihre Vorgangs-ID
  • API_VERSION: entweder v2 oder v2beta1

HTTP-Methode und URL:

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

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Wenn der Vorgang abgeschlossen ist, wird der state-Wert SUCCESSFUL zurückgegeben.

Vorgänge auflisten und abbrechen

Sie können nicht nur einen bestimmten Vorgang ausführen, sondern auch Vorgänge auflisten und abbrechen. Siehe die Methoden list und cancel für den Typ Operations.

Die list-Ergebnisse können Vorgänge enthalten, die nichts mit Ihrer aktuellen Aufgabe zu tun haben. Achten Sie daher darauf, die Ergebnisse zu filtern.