REST Resource: operations
資源:Operation
這個資源表示屬於網路 API 呼叫結果的長時間執行作業。
JSON 表示法 |
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// Union field result can be only one of the following:
"error": {
object (Status )
},
"response": {
"@type": string,
field1: ...,
...
}
// End of list of possible types for union field result .
} |
欄位 |
name |
string
伺服器指派的名稱,而且只在當初傳回這個名稱的服務中是唯一的。如果您使用預設的 HTTP 對應,name 應為結尾為 operations/{unique_id} 的資源名稱。
|
metadata |
object
服務專屬,且與該作業相關聯的中繼資料,通常包含進度資訊和常用中繼資料 (例如建立時間)。部分服務可能不會提供這類中繼資料。凡是會傳回長時間執行作業的方法,都應記錄中繼資料類型 (如果有的話)。 包含任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" } 。
|
done |
boolean
如果值為 false ,代表作業仍在執行中。如果值為 true ,表示作業已完成,且會顯示 error 或 response 。
|
聯集欄位 result 。這是作業的執行結果,可能為 error ,或是有效的 response 。如果 done == false ,系統不會將結果設定為 error ,也不會設定為 response 。如果 done == true ,系統會將結果設定為 error 或 response 。部分服務可能不會提供結果。result 只能是下列其中一個設定: |
error |
object (Status )
作業失敗或取消時顯示的錯誤結果。
|
response |
object
作業成功時的一般回應。如果原始方法在執行成功時沒有傳回資料 (例如 Delete ),則回應為 google.protobuf.Empty 。如果原始方法是標準的 Get /Create /Update ,回應則應該為資源。如果是其他方法,回應必須包含類型 XxxResponse ,其中 Xxx 是原始方法的名稱。舉例來說,如果原始方法的名稱為 TakeSnapshot() ,您就能推測出回應類型應該是 TakeSnapshotResponse 。 包含任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" } 。
|
狀態
Status
類型會定義適用於不同程式設計環境 (包含 REST API 和遠端程序呼叫 (RPC) API) 的邏輯錯誤模型。gRPC 會使用這個模型。每個 Status
訊息包含三部分的資料:錯誤代碼、錯誤訊息和錯誤詳細資料。
如要進一步瞭解這個錯誤模型,以及如何使用這個錯誤模型,請參閱 API 設計指南。
JSON 表示法 |
{
"code": integer,
"message": string,
"details": [
{
"@type": string,
field1: ...,
...
}
]
} |
欄位 |
code |
integer
狀態碼,應為 google.rpc.Code 的列舉值。
|
message |
string
向開發人員顯示的錯誤訊息,應以英文呈現。所有向使用者顯示的錯誤訊息都應經過本地化,並透過 google.rpc.Status.details 欄位傳送,或是由用戶端加以本地化。
|
details[] |
object
附有錯誤詳細資料的訊息清單。這是供 API 使用的一組常用訊息類型。 包含任意類型欄位的物件。額外的 "@type" 欄位則包含能辨識類型的 URI。範例:{ "id": 1234, "@type": "types.example.com/standard/id" } 。
|
方法 |
|
開始以非同步的方式,取消長時間執行的作業。 |
|
刪除長時間執行的作業。 |
|
取得長時間執行的作業的最新狀態。 |
|
列出符合要求中指定篩選器的作業。 |
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-10-14 (世界標準時間)。
[null,null,["上次更新時間:2024-10-14 (世界標準時間)。"],[[["This page documents resources and methods for managing long-running operations, including how to get their status, cancel them, or delete them."],["Operations are represented by the `Operation` resource which contains metadata, status, and the final result (response or error)."],["Errors are represented by the `Status` resource, which provides details on the error code, message, and any specific details."],["A summary of available methods for interacting with operations, such as `cancel`, `delete`, `get`, and `list`, is provided."]]],["The `Operation` resource tracks long-running API calls, showing `name`, `metadata`, and `done` status. If `done` is true, it contains either an `error` (using the `Status` model) or a `response`. `Status` details errors with `code`, `message`, and `details`. Available `Methods` are `cancel`, `delete`, `get`, and `list`, providing actions to manage operations like start cancelation, deletion, retrieval, and filtering.\n"]]