Package google.longrunning

指数

运营

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

当一个API方法通常需要很长时间才能完成时,可以设计将Operation返回给客户端,客户端可以使用该接口通过轮询操作资源来异步接收真正的响应,或者将操作资源传递给另一个API(例如 Pub/Sub API)来接收响应。任何返回长时间运行操作的 API 服务都应实现Operations接口,以便开发人员可以获得一致的客户端体验。

取消操作

rpc CancelOperation( CancelOperationRequest ) returns ( Empty )

开始对长时间运行的操作进行异步取消。服务器会尽最大努力取消该操作,但不保证成功。如果服务器不支持此方法,则会返回google.rpc.Code.UNIMPLEMENTED 。客户端可以使用Operations.GetOperation或其他方法来检查取消是否成功或者取消后操作是否完成。成功取消后,该操作不会被删除;相反,它变成了具有google.rpc.Status.code为 1 的Operation.error值的操作,对应于Code.CANCELLED

授权范围

需要以下 OAuth 范围之一:

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

有关详细信息,请参阅身份验证概述

删除操作

rpc DeleteOperation( DeleteOperationRequest ) returns ( Empty )

删除长时间运行的操作。该方法表示客户端不再对操作结果感兴趣。它不会取消操作。如果服务器不支持此方法,则会返回google.rpc.Code.UNIMPLEMENTED

授权范围

需要以下 OAuth 范围之一:

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

有关详细信息,请参阅身份验证概述

获取操作

rpc GetOperation( GetOperationRequest ) returns ( Operation )

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

授权范围

需要以下 OAuth 范围之一:

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

有关详细信息,请参阅身份验证概述

列表操作

rpc ListOperations( ListOperationsRequest ) returns ( ListOperationsResponse )

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

授权范围

需要以下 OAuth 范围之一:

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

有关详细信息,请参阅身份验证概述

等待操作

rpc WaitOperation( WaitOperationRequest ) returns ( Operation )

等待指定的长时间运行的操作完成或最多达到指定的超时,然后返回最新状态。如果操作已经完成,则立即返回最新状态。如果指定的超时大于默认的 HTTP/RPC 超时,则使用 HTTP/RPC 超时。如果服务器不支持此方法,则会返回google.rpc.Code.UNIMPLEMENTED 。请注意,此方法是尽力而为的。它可能会在指定的超时之前(包括立即)返回最新状态,这意味着即使立即响应也不能保证操作已完成。

授权范围

需要以下 OAuth 范围之一:

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

有关详细信息,请参阅身份验证概述

取消操作请求

Operations.CancelOperation的请求消息。

领域
name

string

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

删除操作请求

Operations.DeleteOperation的请求消息。

领域
name

string

待删除的操作资源名称。

获取操作请求

Operations.GetOperation的请求消息。

领域
name

string

操作资源的名称。

列出操作请求

Operations.ListOperations的请求消息。

领域
name

string

操作的父资源的名称。

filter

string

标准列表过滤器。

page_size

int32

标准列表页面大小。

page_token

string

标准列表页面令牌。

列表操作响应

Operations.ListOperations的响应消息。

领域
operations[]

Operation

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

next_page_token

string

标准列表下一页标记。

手术

此资源表示长时间运行的操作,该操作是网络 API 调用的结果。

领域
name

string

服务器分配的名称,仅在最初返回它的同一服务中是唯一的。如果您使用默认的 HTTP 映射,则该name应该是以operations/{unique_id}结尾的资源名称。

metadata

Any

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

done

bool

如果值为false ,则表示操作仍在进行中。如果true ,则操作完成,并且errorresponse可用。

联盟场result 。操作结果,可以是error ,也可以是有效response 。如果done == false ,则不会设置errorresponse 。如果done == true ,则可以设置errorresponse之一。某些服务可能无法提供结果。 result只能是以下之一:
error

Status

失败或取消时操作的错误结果。

response

Any

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

等待操作请求

Operations.WaitOperation的请求消息。

领域
name

string

要等待的操作资源的名称。

timeout

Duration

超时之前等待的最长时间。如果留空,则等待时间最多为底层 HTTP/RPC 协议允许的时间。如果还指定了 RPC 上下文截止时间,则将使用较短的截止时间。