google.longrunning 软件包

索引

Operations

使用 API 服务管理长时间运行的操作。

如果某个 API 方法通常需要很长时间才能完成,您可以将其设计为向客户端返回 Operation,而客户端可以使用此接口通过轮询操作资源来异步接收实际响应,或者将操作资源传递给另一个 API(如 Google Cloud Pub/Sub API)来接收响应。任何返回长时间运行操作的 API 服务都应实现 Operations 接口,以便为开发者提供一致的客户端体验。

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

对长时间运行的操作启动异步取消。服务器会尽全力取消操作,但不能保证一定成功。如果服务器不支持此方法,它会返回 google.rpc.Code.UNIMPLEMENTED。客户端可以使用 Operations.GetOperation 或其他方法来检查操作是已成功取消还是尽管取消操作但仍已完成。成功取消后,操作不会被删除;而是变成了一个具有 Operation.error 值的操作,其中 google.rpc.Status.code 为 1,对应于 Code.CANCELLED

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

DeleteOperation

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

删除长时间运行的操作。此方法只是表明客户端不再关注操作结果,而不会取消操作。如果服务器不支持此方法,它会返回 google.rpc.Code.UNIMPLEMENTED

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

获取长时间运行的操作的最新状态。客户端可以使用此方法,按 API 服务建议的时间间隔来轮询操作结果。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

列出与请求中指定的过滤条件匹配的操作。如果服务器不支持此方法,则会返回 UNIMPLEMENTED

注意:API 服务可以替换 name 绑定,以使用不同的资源名称方案(如 users/*/operations)。要替换此绑定,API 服务可以将诸如 "/v1/{name=users/*}/operations" 的绑定添加到其服务配置中。为了向后兼容,默认名称包含操作集合 ID,但是执行替换操作的用户必须确保名称绑定为父级资源,而不是操作集合 ID。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

CancelOperationRequest

Operations.CancelOperation 的请求消息。

字段
name

string

要取消的操作资源的名称。

DeleteOperationRequest

Operations.DeleteOperation 的请求消息。

字段
name

string

要删除的操作资源的名称。

GetOperationRequest

Operations.GetOperation 的请求消息。

字段
name

string

操作资源的名称。

ListOperationsRequest

Operations.ListOperations 的请求消息。

字段
name

string

操作的父级资源名称。

filter

string

用于过滤请求结果的表达式。

  • operation_id:= 或 !=。
  • done:= 或 !=。
  • works_on:= 或 !=。

使用该过滤条件的一些示例:

  • done=true --> 操作已完成运行。
  • works_on = projects/my-project/locations/us-central1/datasets/5 --> 操作适用于 ID 为 5 的数据集。
  • works_on = projects/my-project/locations/us-central1/models/15 --> 操作适用于 ID 为 15 的模型。

page_size

int32

标准列表页面大小。

page_token

string

标准列表页面令牌。

ListOperationsResponse

Operations.ListOperations 的响应消息。

字段
operations[]

Operation

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

next_page_token

string

标准列表下一页令牌。

Operation

此资源表示由网络 API 调用引发的长时间运行的操作。

字段
name

string

由服务器分配的名称,该名称仅在最初返回它的那项服务中是唯一的。如果您使用默认 HTTP 映射,则 name 的格式应为 operations/some/unique/name

metadata

Any

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

done

bool

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

联合字段 result。操作结果,可以是 error,也可以是有效的 response。如果 donefalse,则系统不会设置 errorresponse。如果 donetrue,则系统会设置 errorresponse 中的一项。result 只能为以下项之一:
error

Status

操作失败或被取消时表示有错误发生的结果。

response

Any

操作成功时的正常响应。如果原始方法(如 Delete)在成功时没有返回任何数据,则响应为 google.protobuf.Empty。如果原始方法为标准 Get/Create/Update 方法,则响应为相应的资源。对于其他方法,响应类型应为 XxxResponse,其中 Xxx 表示原始方法名称。例如,如果原始方法名称为 TakeSnapshot(),则推断的响应类型为 TakeSnapshotResponse