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
服務專屬,且與該作業相關聯的中繼資料,通常包含進度資訊和常用中繼資料 (例如建立時間)。部分服務可能不會提供這類中繼資料。凡是會傳回長時間執行作業的方法,都應記錄中繼資料類型 (如果有的話)。
|
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 。
|
狀態
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 使用的一組常用訊息類型。
|
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[null,null,["上次更新時間:2025-07-25 (世界標準時間)。"],[[["\u003cp\u003eThe Operation resource represents a long-running operation initiated by a network API call, containing metadata, status, and result information.\u003c/p\u003e\n"],["\u003cp\u003eOperations can be in progress (\u003ccode\u003edone=false\u003c/code\u003e) or completed (\u003ccode\u003edone=true\u003c/code\u003e) with either an error or a response.\u003c/p\u003e\n"],["\u003cp\u003eThe Status resource provides a standardized error model with an error code, message, and details for API responses.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eget\u003c/code\u003e method retrieves the current state of a specific long-running operation.\u003c/p\u003e\n"]]],["The document defines two key resources: `Operation` and `Status`. `Operation` represents a long-running API task, containing a `name`, `metadata`, and a `done` status indicating completion. Upon completion, the `result` field contains either an `error` or a `response`. `Status` defines an error model, with fields for `code`, `message`, and `details`, which are developer-facing errors. Operations can be checked for their status with a get method.\n"],null,["# REST Resource: operations\n\n- [Resource: Operation](#Operation)\n - [JSON representation](#Operation.SCHEMA_REPRESENTATION)\n- [Status](#Status)\n - [JSON representation](#Status.SCHEMA_REPRESENTATION)\n- [Methods](#METHODS_SUMMARY)\n\nResource: Operation\n-------------------\n\nThis resource represents a long-running operation that is the result of a network API call.\n\n| JSON representation |\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"name\": string, \"metadata\": { \"@type\": string, field1: ..., ... }, \"done\": boolean, // Union field `result` can be only one of the following: \"error\": { object (/workspace/events/reference/rest/v1/operations#Status) }, \"response\": { \"@type\": string, field1: ..., ... } // End of list of possible types for union field `result`. } ``` |\n\n| Fields ||\n|------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `name` | `string` The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. |\n| `metadata` | `object` Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. |\n| `done` | `boolean` If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. |\n| Union field `result`. The operation result, which can be either an `error` or a valid `response`. If `done` == `false`, neither `error` nor `response` is set. If `done` == `true`, exactly one of `error` or `response` can be set. Some services might not provide the result. `result` can be only one of the following: ||\n| `error` | `object (`[Status](/workspace/events/reference/rest/v1/operations#Status)`)` The error result of the operation in case of failure or cancellation. |\n| `response` | `object` The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. |\n\nStatus\n------\n\nThe `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------|\n| ``` { \"code\": integer, \"message\": string, \"details\": [ { \"@type\": string, field1: ..., ... } ] } ``` |\n\n| Fields ||\n|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `code` | `integer` The status code, which should be an enum value of `google.rpc.Code`. |\n| `message` | `string` A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details](/workspace/events/reference/rest/v1/operations#Status.FIELDS.details) field, or localized by the client. |\n| `details[]` | `object` A list of messages that carry the error details. There is a common set of message types for APIs to use. |\n\n| Methods ------- ||\n|---------------------------------------------------------------|----------------------------------------------------|\n| ### [get](/workspace/events/reference/rest/v1/operations/get) | Gets the latest state of a long-running operation. |"]]