Recurso REST: operações

Recurso: operação

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

Representação JSON

{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object(Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Campos
name

string

O nome atribuído pelo servidor, que é exclusivo somente no mesmo serviço que o retorna originalmente. Quando você usa o mapeamento HTTP padrão, o name tem o formato operations/some/unique/name.

metadata

object

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 retorna uma operação de longa duração, o tipo de metadados, se houver, deve ser documentado.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém um URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Se o valor é false, isso significa que a operação continua em andamento. Se for true, a operação já foi concluída, e error ou response estã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 nem response é definido. Se done == true, exatamente um error ou response é definido. O result só pode ser um dos seguintes:
error

object(Status)

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

response

object

A resposta normal da operação, em caso de êxito. Se o método original não retornar dados em caso de sucesso, como Delete, a resposta será google.protobuf.Empty. Quando esse método é um Get/Create/Update padrão, a resposta é o recurso. Em outros métodos, ela é do tipo XxxResponse, em que Xxx é o nome do método original. Por exemplo, se o nome do método for TakeSnapshot(), o tipo de resposta deduzido será TakeSnapshotResponse.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém um URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Métodos

cancel

Inicia o cancelamento assíncrono de uma operação de longa duração.

delete

Exclui uma operação de longa duração.

get

Recebe o estado mais recente de uma operação de longa duração.

list

Lista as operações correspondentes ao filtro especificado na solicitação.