Operation

Questa risorsa rappresenta un'operazione a lunga esecuzione 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, univoco all'interno dello stesso servizio che lo restituisce in origine. Se utilizzi la mappatura HTTP predefinita, name deve essere un nome risorsa che termina con operations/{unique_id}.

metadata

object

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

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@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 è completata e è disponibile error o response.

Campo unione result. Il risultato dell'operazione, che può essere un error o un response valido. Se done == false, non è impostato né errorresponse. Se done == true, è possibile impostare esattamente uno tra error o response. Alcuni servizi potrebbero non fornire il risultato. result può essere solo uno dei seguenti:
error

object (Status)

Il risultato dell'errore dell'operazione in caso di errore o annullamento.

response

object

La risposta normale ed riuscita dell'operazione. Se il metodo originale restituisce dati senza successo, come Delete, la risposta è google.protobuf.Empty. Se il metodo originale è standard Get/Create/Update, la risposta deve essere la risorsa. Per altri metodi, la risposta deve avere il tipo XxxResponse, dove Xxx è il nome originale del metodo. Ad esempio, se il nome originale del metodo è TakeSnapshot(), il tipo di risposta dedotto è TakeSnapshotResponse.

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