長期執行的作業

Dialogflow API 的某些方法會傳回長時間執行的作業。這些方法是以非同步的方式執行,因此在方法傳回回應時,可能尚未完成作業。您可以查看作業狀態或取消作業。

取得作業狀態

以下說明如何輪詢作業的狀態。如果您要檢查的作業很多,應限制呼叫頻率,或改用 list 方法。

REST

呼叫 Operations 類型的 get 方法。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 GCP 專案 ID
  • OPERATION_ID:作業 ID
  • API_VERSIONv2v2beta1

HTTP 方法和網址:

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

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

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

作業完成後,會傳回 SUCCESSFULstate 值。

列出及取消作業

除了取得特定作業,您還可以列出及取消作業。請參閱 Operations 類型的 listcancel 方法。

list 結果可能包含與您目前工作無關的作業,因此請務必篩選結果。