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

如果操作是由 claimAsyncunclaimAsyncupdateMetadataAsync 创建的,则此字段将包含 DevicesLongRunningOperationMetadata 对象。

此对象可以包含任意类型的字段。附加字段 "@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,则可以仅设置 errorresponse 中的一个。部分服务可能不会提供结果。result 只能是下列其中一项:
error

object (Status)

如果操作是由 claimAsyncunclaimAsyncupdateMetadataAsync 创建的,则此字段不会始终设置。在这种情况下,response.perDeviceStatus.result.status 中会设置每台设备的错误信息。

response

object

如果操作是由 claimAsyncunclaimAsyncupdateMetadataAsync 创建的,则此字段将包含 DevicesLongRunningOperationResponse 对象。

此对象可以包含任意类型的字段。附加字段 "@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" }

方法

get

获取长时间运行的操作的最新状态。