Package google.longrunning

Índice

Operaciones

Administra operaciones de larga duración con un servicio de API

Cuando un método de API suele tardar mucho tiempo en completarse, puede diseñarse para que devuelva Operation al cliente. De este modo, el cliente puede usar esta interfaz para recibir la respuesta real de manera asíncrona sondeando el recurso de operación o pasándolo a otra API (como la API de Pub/Sub) para recibir la respuesta. Cualquier servicio de API que muestre operaciones de larga duración debe implementar la interfaz Operations para que los desarrolladores puedan tener una experiencia de cliente coherente.

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

Inicia la cancelación asincrónica en una operación de larga duración. El servidor realiza su mejor esfuerzo para cancelar la operación, pero no se garantiza el éxito. Si el servidor no es compatible con este método, muestra google.rpc.Code.UNIMPLEMENTED. Los clientes pueden usar Operations.GetOperation o los otros métodos para comprobar si la cancelación se realizó de forma correcta o si la operación se completó a pesar de la cancelación. Si la cancelación se realiza de forma correcta, la operación no se borra. En lugar de ello, se convierte en una operación que tiene un valor Operation.error con un google.rpc.Status.code de 1, que corresponde a Code.CANCELLED.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

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

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

Borra una operación de larga duración. Este método indica que el cliente ya no está interesado en el resultado de la operación. No cancela la operación. Si el servidor no es compatible con este método, muestra google.rpc.Code.UNIMPLEMENTED.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

rpc GetOperation(GetOperationRequest) returns (Operation)

Obtiene el último estado de una operación de larga duración. Los clientes pueden usar este método para sondear el resultado de la operación por intervalos según la recomendación del servicio de la API.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Se requiere el siguiente permiso de IAM en el recurso name:

  • routeoptimization.operations.get

Para obtener más información, consulta la documentación de IAM.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Enumera las operaciones que coinciden con el filtro especificado en la solicitud. Si el servidor no admite este método, muestra UNIMPLEMENTED.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

rpc WaitOperation(WaitOperationRequest) returns (Operation)

Espera hasta que se complete la operación de larga duración especificada o hasta que alcance, como máximo, un tiempo de espera especificado, y muestra el estado más reciente. Si la operación ya se realizó, se muestra de inmediato el estado más reciente. Si el tiempo de espera especificado es mayor que el tiempo de espera HTTP/RPC predeterminado, se usa este último. Si el servidor no es compatible con este método, muestra google.rpc.Code.UNIMPLEMENTED. Ten en cuenta que este método se basa en el mejor esfuerzo. Puede mostrar el estado más reciente antes del tiempo de espera especificado (incluso de inmediato), lo que significa que ni siquiera una respuesta inmediata es garantía de que la operación ya finalizó.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

CancelOperationRequest

El mensaje de solicitud para Operations.CancelOperation.

Campos
name

string

El nombre del recurso de la operación que se cancelará.

DeleteOperationRequest

El mensaje de solicitud para Operations.DeleteOperation.

Campos
name

string

El nombre del recurso de la operación que se borrará.

GetOperationRequest

El mensaje de solicitud para Operations.GetOperation.

Campos
name

string

El nombre del recurso de operación.

ListOperationsRequest

El mensaje de solicitud para Operations.ListOperations.

Campos
name

string

El nombre del recurso principal de la operación.

filter

string

El filtro de lista estándar.

page_size

int32

El tamaño de página de lista estándar.

page_token

string

El token de página de lista estándar.

return_partial_success

bool

Cuando se establece en true, las operaciones a las que se puede acceder se muestran de forma normal, y las que no se pueden alcanzar se muestran en el campo [ListOperationsResponse.unreachable].

Solo puede ser true cuando se lee en varias colecciones, p.ej., cuando parent se establece en "projects/example/locations/-".

Este campo no se admite de forma predeterminada y generará un error de UNIMPLEMENTED si se configura, a menos que se documente explícitamente lo contrario en la documentación específica del servicio o producto.

ListOperationsResponse

El mensaje de respuesta para Operations.ListOperations.

Campos
operations[]

Operation

Una lista de operaciones que coincide con el filtro especificado en la solicitud.

next_page_token

string

El token de página siguiente de lista estándar.

unreachable[]

string

Lista sin ordenar. Son recursos inaccesibles. Se completa cuando la solicitud establece ListOperationsRequest.return_partial_success y lee en todas las colecciones, p.ej., cuando se intenta enumerar todos los recursos en todas las ubicaciones admitidas.

Operación

Este recurso representa una operación de larga duración que es el resultado de una llamada a la API de la red.

Campos
name

string

El nombre asignado por el servidor, que solo es único dentro del mismo servicio que originalmente lo muestra. Si usas la asignación HTTP predeterminada, el name debe ser un nombre de recurso que termine con operations/{unique_id}.

metadata

Any

Metadatos específicos del servicio asociados con la operación. Por lo general, contiene información de progreso y metadatos comunes, como la fecha de creación. Puede que algunos servicios no proporcionen estos metadatos. Cualquier método que muestra una operación de larga duración debe documentar el tipo de metadatos, si corresponde.

done

bool

Si el valor es false, significa que la operación aún está en progreso. Si es true, la operación está completa, y error o response están disponibles.

Campo de unión result. El resultado de la operación, que puede ser un error o una response válida. Si done == false, no se establecen error ni response. Si done == true, se puede establecer error o response. Es posible que algunos servicios no proporcionen el resultado. result puede ser uno de los siguientes:
error

Status

El resultado de error de la operación en caso de falla o cancelación.

response

Any

La respuesta normal y correcta de la operación. Si el método original no muestra datos en caso de éxito, como Delete, la respuesta es google.protobuf.Empty. Si el método original es Get, Create o Update estándar, la respuesta debe ser el recurso. Para otros métodos, la respuesta debe tener el tipo XxxResponse, en la que Xxx es el nombre del método original. Por ejemplo, si el nombre del método original es TakeSnapshot(), el tipo de respuesta inferido es TakeSnapshotResponse.

WaitOperationRequest

El mensaje de solicitud para Operations.WaitOperation.

Campos
name

string

El nombre del recurso de la operación por esperar.

timeout

Duration

La duración máxima a esperar antes de que se agote el tiempo. Si se deja en blanco, la espera será como máximo el tiempo que permite el protocolo HTTP/RPC subyacente. Si también se especifica el plazo del contexto de  RPC, se usará el que resulte más corto.