Package google.longrunning

重要事項:如要存取圓括號內的網址,必須連上網際網路。這個網址可供您在氣隙環境以外存取。

作業

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

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

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

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

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

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

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

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

標準清單下一頁符記。

作業

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

欄位
name

string

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

metadata

Any (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Any)

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

done

bool

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

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

Status (/distributed-cloud/hosted/docs/latest/gdch/apis/vertex-ai/translation/rpc/google.rpc#google.rpc.Status)

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

response

Any (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Any)

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