Package google.longrunning

Índice

Operações

Operações de longa duração são gerenciadas com um serviço de API.

Quando um método de API leva muito tempo para ser concluído, ele pode ser configurado para retornar Operation ao cliente, que poderá usar essa interface para receber a resposta real de maneira assíncrona. Para fazer isso, o cliente precisará pesquisar o recurso de operação ou transmiti-lo para outra API, como a API Pub/Sub. Qualquer serviço de API que retorne operações de longa duração precisa implementar a interface de Operations para que os desenvolvedores possam ter uma experiência de cliente consistente.

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

Cancela uma transferência. Use o método transferOperations.get para verificar se o cancelamento foi bem-sucedido ou se a operação foi concluída apesar da solicitação cancel.

Quando você cancela uma operação, a transferência em execução é interrompida. Para jobs de transferência recorrentes, a próxima instância do job de transferência ainda será executada. Por exemplo, se o job estiver configurado para ser executado todos os dias às 13h e você cancelar a operação de segunda-feira às 13h05, a transferência de segunda-feira será interrompida. No entanto, uma tentativa de transferência ainda será feita na terça-feira.

Isso se aplica apenas às operações em execução. Se uma operação não estiver em execução, cancel não fará nada.

Quando você cancela um job, o próximo job calcula um delta de arquivos e pode reparar qualquer estado inconsistente. Por exemplo, se você executa um job todos os dias e o job de hoje encontrou 10 arquivos novos e transferiu cinco antes de ser cancelado, a operação de transferência de amanhã vai calcular um novo delta com os cinco arquivos que não foram copiados hoje, além dos novos arquivos descobertos amanhã.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para mais informações, consulte Authentication Overview.

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

Recebe o estado mais recente de uma operação de longa duração. Os clientes usam este método para pesquisar o resultado da operação em intervalos, conforme recomendado pelo serviço da API.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para mais informações, consulte Authentication Overview.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Lista operações de transferência. As operações são ordenadas pela data de criação em ordem cronológica inversa.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para mais informações, consulte Authentication Overview.

CancelOperationRequest

A mensagem de solicitação para Operations.CancelOperation.

Campos
name

string

O nome do recurso de operação a ser cancelado.

GetOperationRequest

A mensagem de solicitação para Operations.GetOperation.

Campos
name

string

O nome do recurso de operação.

ListOperationsRequest

A mensagem de solicitação para Operations.ListOperations.

Campos
name

string

Obrigatório. O nome do tipo que está sendo listado. Precisa ser transferOperations.

filter

string

Obrigatório. Uma lista de parâmetros de consulta especificados como texto JSON no 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",...]}

Como jobNames, operationNames e transferStatuses oferecem suporte a vários valores, eles precisam ser especificados com a notação de matriz. projectId é o único argumento obrigatório. Se especificado, jobNamePattern e operationNamePattern precisam corresponder ao nome completo do job ou da operação, respectivamente. "*" é um caractere curinga que corresponde a zero ou mais caracteres. minCreationTime e maxCreationTime precisam ser carimbos de data/hora codificados como uma string no formato RFC 3339. Os valores válidos para transferStatuses não diferenciam maiúsculas de minúsculas: IN_PROGRESS, PAUSED, SUCCESS, FAILED e ABORTED.

page_size

int32

O tamanho da página da lista. O valor máximo permitido é 256.

page_token

string

O token da página de lista.

ListOperationsResponse

A mensagem de resposta para Operations.ListOperations.

Campos
operations[]

Operation

Uma lista de operações correspondente ao filtro especificado na solicitação.

next_page_token

string

O token de próxima página da lista padrão.

Operação

Este recurso representa uma operação de longa duração resultante de uma chamada à API de rede.

Campos
name

string

O nome exclusivo atribuído pelo servidor. O formato de name é transferOperations/some/unique/name.

metadata

Any

Representa o objeto de operação de transferência. Para solicitar um objeto TransferOperation, use transferOperations.get.

done

bool

Se o valor for false, significa que a operação ainda está em andamento. Se for true, a operação será concluída e error ou response estarão disponíveis.

Campo de união result. O resultado da operação, que pode ser um error ou uma response válida. Se done == false, nem error ou response estão definidos. Se done == true, será possível definir exatamente um entre error ou response. Alguns serviços podem não fornecer o resultado. result pode ser apenas de um dos tipos a seguir:
error

Status

Resultado do erro da operação em caso de falha ou cancelamento.

response

Any

A resposta normal e bem-sucedida da operação. Se o método original não retornar dados em caso de êxito, como Delete, a resposta será google.protobuf.Empty. Se o método original for Get/Create/Update padrão, a resposta será o recurso. Para outros métodos, a resposta precisa ser do tipo XxxResponse, em que Xxx é o nome do método original. Por exemplo, se o nome do método original for TakeSnapshot(), o tipo inferido de resposta será TakeSnapshotResponse.