輪詢長時間執行的作業

本頁說明如何判斷非同步方法的完成狀態。這些方法會傳回長時間執行的作業,提供作業進度和最終狀態的相關資訊。

下列方法會傳回長時間執行的作業:

  • CreateKey
  • UpdateKey
  • DeleteKey
  • UndeleteKey

向其中一種方法提出要求時,如果要求成功,方法會在 name 欄位中傳回作業 ID,代表伺服器上正在進行的工作,例如:

{
  "name": "operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff"
}

如要檢查作業狀態,請使用 operations.get 方法,並提供 name 欄位的值:

  gcurl https://apikeys.googleapis.com/v2/operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff

如要輪詢作業,建議您以每 10 秒輪詢一次的頻率重複叫用 operations.get 方法,直到回應包含 "done": true 為止:

{
  "name": "operations/akmf.6573437d-47c1-42c4-b817-0562f514f6ff",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.api.apikeys.v2.Key",
    "name": "projects/103621867718/locations/global/keys/b7ff1f9f-8275-410a-94dd-3855ee9b5dd2",
    "keyString": "----REDACTED----",
    "createTime": "2019-02-04T23:56:28.531Z",
    "uid": "b7ff1f9f-8275-410a-94dd-3855ee9b5dd2",
    "updateTime": "2019-02-04T23:56:28.531Z",
    "restrictions": {
      "browserKeyRestrictions": {
      }
    },
    "etag": "k0bsYGkIvSxDVwNxyw49NQ=="
  }
}