Operation

Questa risorsa rappresenta un'operazione di lunga durata che è il risultato di una chiamata API di rete.

Rappresentazione 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.
}
Campi
name

string

Il nome assegnato dal server, che è univoco solo all'interno del servizio che lo restituisce originariamente. Se si utilizza il valore predefinito HTTP mappatura, il name deve avere il formato di operations/some/unique/name .

metadata

object

Metadati specifici del servizio associati all'operazione. In genere contiene informazioni sullo stato di avanzamento e metadati comuni come l'ora di creazione. Alcuni servizi potrebbero non fornire tali metadati. Qualsiasi metodo che restituisce un'operazione di lunga durata dovrebbe documentare il tipo di metadati, se presente.

Un oggetto contenente campi di tipo arbitrario. Un ulteriore campo "@type" contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" } .

done

boolean

Se il valore è false , significa che l'operazione è ancora in corso. Se true , l'operazione è stata completata, e sia error o response è disponibile.

Campo Union result . Il risultato dell'operazione, che può essere sia un error o una valida response . Se done == false , né errorresponse è impostato. Se done == true , esattamente uno degli error o di response è impostato. result non può che essere uno dei seguenti:
error

object( Status )

Il risultato dell'errore dell'operazione in caso di fallimento o cancellazione.

response

object

La normale risposta dell'operazione in caso di successo. Se il metodo originale non restituisce nessun dato in caso di successo, come ad esempio Delete , la risposta è google.protobuf.Empty . Se il metodo originale è di serie Get / Create / Update , la risposta dovrebbe essere la risorsa. Per altri metodi, la risposta deve avere il tipo XxxResponse , dove Xxx è il nome del metodo originale. Ad esempio, se il nome del metodo originale è TakeSnapshot() , il tipo di risposta è dedotto TakeSnapshotResponse .

Un oggetto contenente campi di tipo arbitrario. Un ulteriore campo "@type" contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" } .