套件 google.longrunning

索引

Operations

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

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

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

開始非同步取消長時間執行的作業。伺服器會盡一切可能努力取消作業,但不保證一定能成功取消。如果伺服器不支援此方法,則會傳回 google.rpc.Code.UNIMPLEMENTED。用戶端可以使用 Operations.GetOperation 或其他方法來檢查取消是否成功,或者不管取消與否,作業是否完成。成功取消後,並不會刪除作業;而是會成為具有 Operation.error 值的作業,且 google.rpc.Status.code 為 1,對應於 Code.CANCELLED

授權範圍

需要下列 OAuth 範圍:

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

詳情請參閱驗證指南

DeleteOperation

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

刪除長時間執行的作業。此方法指示用戶端不再對作業結果感興趣。它不會取消作業。如果伺服器不支援此方法,則會傳回 google.rpc.Code.UNIMPLEMENTED

授權範圍

需要下列 OAuth 範圍:

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

詳情請參閱驗證指南

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

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

授權範圍

需要下列 OAuth 範圍:

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

詳情請參閱驗證指南

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

列出符合要求中指定篩選器的作業。如果伺服器不支援此方法,則會傳回 UNIMPLEMENTED

附註:name 繫結允許 API 服務覆寫繫結以使用不同的資源名稱架構,例如 users/*/operations。如要覆寫繫結,API 服務可以新增例如 "/v1/{name=users/*}/operations" 之類的繫結至其服務設定。為了顧及回溯相容性,預設名稱中包含作業集合 ID,但覆寫使用者必須確保名稱繫結是父項資源,且不含作業集合 ID。

授權範圍

需要下列 OAuth 範圍:

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

詳情請參閱驗證指南

CancelOperationRequest

Operations.CancelOperation 的要求訊息。

欄位
name

string

要取消之作業資源的名稱。

DeleteOperationRequest

Operations.DeleteOperation 的要求訊息。

欄位
name

string

要刪除的作業資源名稱。

GetOperationRequest

Operations.GetOperation 的要求訊息。

欄位
name

string

作業資源名稱。

ListOperationsRequest

Operations.ListOperations 的要求訊息。

欄位
name

string

作業的父項資源名稱。

filter

string

標準清單篩選器。

page_size

int32

標準清單頁面大小。

page_token

string

標準清單頁面符記。

ListOperationsResponse

Operations.ListOperations 的回應訊息。

欄位
operations[]

Operation

符合要求中指定篩選器的作業清單。

next_page_token

string

標準清單下一頁符記。

Operation

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

欄位
name

string

伺服器指派的名稱,只有在最初傳回此名稱的相同服務中是不重複名稱。如果使用預設的 HTTP 對應,name 應採用以下格式:operations/some/unique/name

metadata

Any

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

done

bool

如果值為 false,表示作業仍在進行中。如果值為 true,則表示作業已完成,並會顯示 errorresponse

聯集欄位 result。表示作業結果,可能為 error 或有效的 response。如果 done == false,系統不會設定 errorresponse。如果 done == true,則系統會設定 errorresponse (只會設定一種)。result 只能採用以下其中一種設定:
error

Status

作業失敗或取消時顯示的錯誤結果。

response

Any

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