Operation

Ten zasób reprezentuje długotrwałą operację, która jest wynikiem wywołania interfejsu API sieci.

Zapis 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.
}
Pola
name

string

Nazwa przypisana do serwera, która jest unikalna w tej samej usłudze, która została zwrócona. Jeśli używasz domyślnego mapowania HTTP, name powinna być nazwą zasobu kończącą się operations/{unique_id}.

metadata

object

Metadane dotyczące usługi powiązane z operacją. Zwykle zawiera on informacje o postępach i typowe metadane, takie jak czas utworzenia. Niektóre usługi mogą nie dostarczać takich metadanych. Każda metoda, która zwraca długotrwałą operację, powinna udokumentować typ metadanych (jeśli istnieje).

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Jeśli wartość to false, oznacza to, że operacja jest w toku. Jeśli operacja true została zakończona, operacja error i response jest dostępna.

Pole związkowe result. Wynik operacji może być wartością error lub prawidłową wartością response. Jeśli done == false, nie jest ustawiony żaden error ani response. Jeśli done == true, można ustawić dokładnie jedną wartość error lub response. Niektóre usługi mogą nie podawać wyników. result może mieć tylko jedną z tych wartości:
error

object (Status)

Wynik błędu operacji w przypadku niepowodzenia lub anulowania.

response

object

Normalna odpowiedź operacji w przypadku powodzenia. Jeśli pierwotna metoda nie zwraca żadnych danych dotyczących powodzenia, takich jak Delete, odpowiedź to google.protobuf.Empty. Jeśli pierwotna metoda to Get/Create/Update, odpowiedź powinna zawierać zasób. W przypadku innych metod odpowiedź powinna mieć typ XxxResponse, gdzie Xxx to pierwotna nazwa metody. Jeśli na przykład pierwotna nazwa metody to TakeSnapshot(), wnioskowana odpowiedź to TakeSnapshotResponse.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.

Stan

Typ Status definiuje model logiczny błędów odpowiedni dla różnych środowisk programowania, w tym interfejsy API REST i RPC. Jest on używany przez funkcję gRPC. Każda wiadomość Status zawiera 3 elementy danych: kod błędu, komunikat o błędzie i szczegóły błędu.

Więcej informacji o tym modelu błędu i sposobie jego wykorzystania znajdziesz w przewodniku po interfejsach API.

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

integer

Kod stanu, który powinien być wartością google.rpc.Code.

message

string

Komunikat o błędzie wyświetlany deweloperowi, który powinien być w języku angielskim. Wszelkie komunikaty o błędach wyświetlane użytkownikom powinny być zlokalizowane i wysyłane w polu google.rpc.Status.details lub zlokalizowane przez klienta.

details[]

object

Lista komunikatów zawierających szczegóły błędu. Istnieje wspólny zestaw typów wiadomości do użycia przez interfejsy API.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.