REST 资源: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/some/unique/name

metadata

object

与操作关联的服务专属元数据。它通常包含进度信息和常见元数据(如创建时间)。一些服务可能不会提供此类元数据。任何返回长时间运行操作的方法都应记录元数据类型(如果有的话)。

此对象可以包含任意类型的字段。附加字段 "@type" 包含用于标识相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

done

boolean

如果值为 false,则表示操作仍在进行中。如果值为 true,则表示操作已完成,其结果不是 error 就是 response

联合字段 result。操作结果,可以是 error,也可以是有效的 response。如果 donefalse,则系统不会设置 errorresponse。如果 donetrue,则系统会设置 errorresponse 中的一项。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" }

方法

get

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

list

列出与请求中指定的过滤条件匹配的操作。