Package google.longrunning

索引

作業

使用 API 服務管理長時間執行作業。

如果 API 方法通常需要長時間才能完成作業,則可能會向用戶端傳回 Operation。這樣一來,用戶端即可藉由輪詢作業資源,以非同步的方式透過這個介面接收真正的回應;或是傳遞作業資源至其他 API (例如 Google Cloud Pub/Sub API) 來接收回應。凡是傳回長時間執行作業的 API 服務都應實作 Operations 介面,讓開發人員能獲得一致的用戶端體驗。

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

取得長時間執行作業的最新狀態。用戶端可以使用這個方法按照 API 服務建議的間隔查詢作業結果。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-vision

詳情請參閱驗證總覽一文。

GetOperationRequest

Operations.GetOperation 的要求訊息。

欄位
name

string

作業資源名稱。

作業

這個資源表示屬於網路 API 呼叫結果的長時間執行作業。

欄位
name

string

伺服器指派的名稱,而且只在當初傳回這個名稱的服務中是唯一的。如果您使用預設的 HTTP 對應,則 name 應該是以 operations/{unique_id} 結尾的資源名稱。

metadata

Any

服務專屬,且與該作業相關聯的中繼資料,通常包含進度資訊和常用中繼資料 (例如建立時間)。部分服務可能不會提供這類中繼資料。凡是會傳回長時間執行作業的方法,都應記錄中繼資料類型 (如果有的話)。

done

bool

如果值為 false,代表作業仍在執行中。如果值為 true,代表作業已執行完畢,系統會顯示 errorresponse 的執行結果。

聯集欄位 result。這是作業的執行結果,可能為 error,或是有效的 response。如果 done == false,系統不會將結果設定為 error,也不會設定為 response。如果 done == true,系統會將結果設定為 errorresponseresult 只能是下列其中一個設定:
error

Status

作業執行失敗或遭到取消時,所顯示的錯誤結果。

response

Any

作業執行成功時的一般回應。如果原始方法在執行成功時沒有傳回資料 (例如 Delete),則回應為 google.protobuf.Empty。如果原始方法是標準的 Get/Create/Update,回應則應該為資源。如果是其他方法,回應須包含類型 XxxResponse,其中 Xxx 是原始方法名稱。舉例來說,如果原始方法名稱為 TakeSnapshot(),則可推測回應類型為 TakeSnapshotResponse