索引
- 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 上下文截止时间,则以二者中较短者为准。 |