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 projetado para retornar Operation ao cliente, que pode usar essa interface para receber a resposta real de maneira assíncrona. Para isso, pesquise o recurso de operação ou o transmita para outra API, como a API Pub/Sub, para receber a resposta. 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)

Inicia o cancelamento assíncrono de uma operação de longa duração. São feitas várias tentativas para cancelar a operação no servidor, mas o sucesso não é garantido. Se o servidor não for compatível com esse método, ele retornará google.rpc.Code.UNIMPLEMENTED. Os clientes podem usar Operations.GetOperation ou outros métodos para verificar se o cancelamento ocorreu ou se a operação foi concluída mesmo com o cancelamento. Caso o cancelamento ocorra, a operação não será excluída. Em vez disso, ela se tornará uma operação com um valor Operation.error que tem um google.rpc.Status.code de 1, correspondente a Code.CANCELLED.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

rpc DeleteOperation(DeleteOperationRequest) returns (Empty)

Exclui uma operação de longa duração. Este método indica que o cliente não está mais interessado no resultado da operação. Ele não cancela a operação. Se o servidor não for compatível com esse método, ele retornará google.rpc.Code.UNIMPLEMENTED.

Escopos de autorização

Requer o seguinte escopo OAuth:

  • https://www.googleapis.com/auth/cloud-platform
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
ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Lista as operações correspondentes ao filtro especificado na solicitação. Se o servidor não for compatível com esse método, ele retornará UNIMPLEMENTED.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

rpc WaitOperation(WaitOperationRequest) returns (Operation)

Aguarda até que a operação de longa duração especificada seja concluída ou atinja no máximo um tempo limite especificado, retornando o estado mais recente. Se a operação já estiver concluída, o estado mais recente é retornado imediatamente. Se o tempo limite determinado for maior que o tempo limite padrão HTTP/RPC (remote procedure call), o tempo limite HTTP/RPC será usado. Quando esse método não é compatível com o servidor, ele retorna google.rpc.Code.UNIMPLEMENTED. Esse método é executado da melhor maneira possível. Ele pode retornar o estado mais recente antes do tempo limite especificado (inclusive imediatamente), o que significa que até mesmo uma resposta imediata não é garantia de que a operação está concluída.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

CancelOperationRequest

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

Campos
name

string

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

DeleteOperationRequest

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

Campos
name

string

O nome do recurso de operação que será excluído.

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

O nome do recurso pai da operação.

filter

string

O filtro de lista padrão.

page_size

int32

O tamanho de página de lista padrão.

page_token

string

O token de página de lista padrão.

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 atribuído pelo servidor, que é exclusivo somente no mesmo serviço que o retorna originalmente. Se você usar o mapeamento padrão de HTTP, name precisa ser um nome de recurso que termine com operations/{unique_id}.

metadata

Any

Metadados específicos do serviço associados à operação. Eles geralmente contêm informações sobre o progresso e metadados comuns, como a hora da criação. Em alguns serviços, esses metadados talvez não sejam fornecidos. Em qualquer método que retorne uma operação de longa duração, o tipo de metadados será documentado, se houver.

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 de resposta inferido será TakeSnapshotResponse.

WaitOperationRequest

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

Campos
name

string

O nome do recurso de operação que é preciso aguardar.

timeout

Duration

A duração máxima de espera antes do tempo limite. Se deixado em branco, a espera será de, no máximo, o tempo permitido pelo protocolo HTTP/RPC subjacente. Se o prazo do contexto RPC também for especificado, o mais curto será usado.