Operation

Este recurso representa uma operação de longa duração que é o resultado 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 apenas no serviço que o retorna originalmente. Se você usar o padrão HTTP mapeamento, o name deve ter o formato de operations/some/unique/name .

metadata

object

Metadados específicos do serviço associados à operação. Normalmente contém informações de progresso e metadados comuns, como tempo de criação. Alguns serviços podem não fornecer esses metadados. Qualquer método que retorna uma operação de longa duração deve documentar o tipo de metadados, se houver.

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

done

boolean

Se o valor for false , isso significa que a operação ainda está em andamento. Se true , a operação é concluída, e quer error ou response está disponível.

Campo Union result . O resultado da operação, que pode ser um error ou um válido response . Se done == false , nem error , nem response está definido. Se done == true , exatamente um dos error ou response está definido. result pode ser apenas uma das seguintes opções:
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 sucesso. Se o método original retorna há dados em caso de sucesso, como Delete , a resposta é google.protobuf.Empty . Se o método original é padrão Get / Create / Update , a resposta deve ser o recurso. Para outros métodos, a resposta deve ter o tipo XxxResponse , em que Xxx é o nome do método original. Por exemplo, se o nome do método original é TakeSnapshot() , o tipo de resposta é inferida TakeSnapshotResponse .

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