索引
Operations
(接口)CancelOperationRequest
(消息)DeleteOperationRequest
(消息)GetOperationRequest
(消息)ListOperationsRequest
(消息)ListOperationsResponse
(消息)Operation
(消息)WaitOperationRequest
(消息)
操作
使用 API 服务管理长时间运行的操作。
如果某个 API 方法通常需要很长时间才能完成,您可以将其设计为向客户端返回 Operation
,而客户端可以使用此接口通过轮询操作资源来异步接收实际响应,或者将操作资源传递给另一个 API(如 Pub/Sub API)来接收响应。任何返回长时间运行操作的 API 服务都应实现 Operations
接口,以便为开发者提供一致的客户端体验。
CancelOperation |
---|
对长时间运行的操作启动异步取消。服务器会尽全力取消操作,但不能保证一定成功。如果服务器不支持此方法,则会返回
|
DeleteOperation |
---|
删除长时间运行的操作。此方法只是表明客户端不再关注操作结果,而不会取消操作。如果服务器不支持此方法,则会返回
|
GetOperation |
---|
获取长时间运行的操作的最新状态。客户端可以使用此方法,按 API 服务建议的时间间隔来轮询操作结果。
|
ListOperations |
---|
列出与请求中指定的过滤条件匹配的操作。如果服务器不支持此方法,则会返回
|
WaitOperation |
---|
等到指定的长时间运行的操作完成,或最多达到指定的超时,从而返回最新状态。如果操作已完成,则立即返回最新状态。如果指定的超时大于默认的 HTTP/RPC 超时,则使用 HTTP/RPC 超时。如果服务器不支持此方法,则会返回
|
CancelOperationRequest
Operations.CancelOperation
的请求消息。
字段 | |
---|---|
name |
要取消的操作资源的名称。 |
DeleteOperationRequest
Operations.DeleteOperation
的请求消息。
字段 | |
---|---|
name |
要删除的操作资源的名称。 |
GetOperationRequest
Operations.GetOperation
的请求消息。
字段 | |
---|---|
name |
操作资源的名称。 |
ListOperationsRequest
Operations.ListOperations
的请求消息。
字段 | |
---|---|
name |
操作的父级资源名称。 |
filter |
标准列表过滤条件。 |
page_ |
标准列表页面大小。 |
page_ |
标准列表页面令牌。 |
ListOperationsResponse
Operations.ListOperations
的响应消息。
字段 | |
---|---|
operations[] |
与请求中指定的过滤条件匹配的操作列表。 |
next_ |
标准列表下一页令牌。 |
操作
此资源表示由网络 API 调用引发的长时间运行的操作。
字段 | |
---|---|
name |
由服务器分配的名称,该名称仅在最初返回它的那项服务中是唯一的。如果您使用默认 HTTP 映射,则 |
metadata |
与操作关联的服务专属元数据。它通常包含进度信息和常见元数据(如创建时间)。一些服务可能不会提供此类元数据。任何返回长时间运行操作的方法都应记录元数据类型(如果有的话)。 |
done |
如果值为 |
联合字段 result 。操作结果,可以是 error ,也可以是有效的 response 。如果 done == false ,则既不会设置 error ,也不会设置 response 。如果 done == true ,则只能设置 error 或 response 中的一项。部分服务可能不会提供结果。result 只能是下列其中一项: |
|
error |
操作失败或被取消时表示有错误发生的结果。 |
response |
操作的常规成功响应。如果原始方法在成功时不返回任何数据(如 |
WaitOperationRequest
Operations.WaitOperation
的请求消息。
字段 | |
---|---|
name |
要等待的操作资源的名称。 |
timeout |
超时之前等待的最长时间。如果将此字段留空,则等待时间最长为底层 HTTP/RPC 协议允许的时间。如果还指定了 RPC 上下文截止时间,则以二者中较短者为准。 |