REST Resource: operations

Risorsa: operazione

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, che è univoco solo all'interno dello stesso servizio che lo restituisce originariamente. Se utilizzi la mappatura HTTP predefinita, il name dovrebbe essere un nome di risorsa che termina con operations/{unique_id} .

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 deve 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 ed è disponibile error o response .

result sul campo dell'Unione. Il risultato dell'operazione, che può essere un error o una response valida. Se done == false , non vengono impostati 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 fallimento o annullamento.

response

object

La normale risposta dell'operazione in caso di successo. Se il metodo originale non restituisce dati in caso di successo, come Delete , la risposta è google.protobuf.Empty . Se il metodo originale è Get / Create / Update standard, la risposta dovrebbe essere la risorsa. Per gli altri metodi, la risposta dovrebbe 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 campo aggiuntivo "@type" contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" } .

Stato

Il tipo Status definisce un modello di errore logico adatto a diversi ambienti di programmazione, incluse le API REST e le API RPC. Viene utilizzato da gRPC . Ogni messaggio Status contiene tre dati: codice di errore, messaggio di errore e dettagli dell'errore.

Puoi trovare ulteriori informazioni su questo modello di errore e su come utilizzarlo nella Guida alla progettazione dell'API .

Rappresentazione JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campi
code

integer

Il codice di stato, che dovrebbe essere un valore enum di google.rpc.Code .

message

string

Un messaggio di errore rivolto agli sviluppatori, che dovrebbe essere in inglese. Qualsiasi messaggio di errore rivolto all'utente deve essere localizzato e inviato nel campo google.rpc.Status.details o localizzato dal client.

details[]

object

Un elenco di messaggi che contengono i dettagli dell'errore. Esiste un set comune di tipi di messaggio che le API possono utilizzare.

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" } .

Metodi

get

Ottiene lo stato più recente di un'operazione a lunga esecuzione.