Package google.longrunning

Índice

Operaciones

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

Cuando un método de API tarda mucho tiempo en completarse, puede diseñarse para mostrar Operation al cliente, que puede usar esta interfaz para recibir la respuesta real de manera asíncrona si sondea el recurso de operación o lo pasa 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)

Cancela una transferencia. Usa el método transferOperations.get para verificar si la cancelación se realizó de forma correcta o si la operación se completó a pesar de la solicitud cancel.

Cuando cancelas una operación, se interrumpe la transferencia que se está ejecutando. En el caso de los trabajos de transferencia recurrentes, se ejecutará la siguiente instancia del trabajo de transferencia. Por ejemplo, si tu trabajo está configurado para ejecutarse todos los días a la 1 p.m. y cancelas la operación del lunes a las 1:05 p.m., se detendrá la transferencia del lunes. Sin embargo, se intentará realizar una transferencia el martes.

Esto solo se aplica a las operaciones que se están ejecutando actualmente. Si no hay una operación en ejecución, cancel no hace nada.

Cuando cancelas un trabajo, el siguiente calcula un delta de archivos y puede reparar cualquier estado incoherente. Por ejemplo, si ejecutas una tarea todos los días y la de hoy encontró 10 archivos nuevos y transfirió cinco antes de que la cancelaras, la operación de transferencia de mañana calculará un delta nuevo con los cinco archivos que no se copiaron hoy, además de los archivos nuevos que se descubran mañana.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Authentication Overview.

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

Para obtener más información, consulta Authentication Overview.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Muestra una lista de las operaciones de transferencia. Las operaciones se ordenan por su hora de creación en orden cronológico inverso.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Authentication Overview.

CancelOperationRequest

El mensaje de solicitud para Operations.CancelOperation.

Campos
name

string

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

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

Obligatorio. Es el nombre del tipo que se incluye en la lista. Debe ser transferOperations.

filter

string

Obligatorio. Una lista de parámetros de consulta especificados como texto JSON con el formato: {"projectId":"my_project_id", "jobNames":["jobid1","jobid2",...], "jobNamePattern": "job_name_pattern", "operationNames":["opid1","opid2",...], "operationNamePattern": "operation_name_pattern", "minCreationTime": "min_creation_time", "maxCreationTime": "max_creation_time", "transferStatuses":["status1","status2",...]}

Dado que jobNames, operationNames y transferStatuses admiten varios valores, se deben especificar con notación de array. projectId es el único argumento obligatorio. Si se especifican, jobNamePattern y operationNamePattern deben coincidir con el nombre completo de la operación o el trabajo, respectivamente. “*” es un comodín que coincide con 0 o más caracteres. minCreationTime y maxCreationTime deben ser marcas de tiempo codificadas como una cadena en el formato RFC 3339. Los valores válidos para transferStatuses no distinguen mayúsculas de minúsculas: IN_PROGRESS, PAUSED, SUCCESS, FAILED y ABORTED.

page_size

int32

Es el tamaño de página de la lista. El valor máximo permitido es 256.

page_token

string

El token de página de lista.

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.

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

Es el nombre único asignado por el servidor. El formato de name es transferOperations/some/unique/name.

metadata

Any

Representa el objeto de operación de transferencia. Para solicitar un objeto TransferOperation, usa transferOperations.get.

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.