REST Resource: operations

Zasób: Operacja

Ten zasób reprezentuje długo trwającą operację będącą wynikiem wywołania sieciowego interfejsu API.

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 przez serwer, która jest niepowtarzalna w tej samej usłudze, która została pierwotnie zwrócona. Jeśli używasz domyślnego mapowania HTTP, name powinna być nazwą zasobu kończącą się operations/{uniqueId}.

metadata

object

Metadane dotyczące konkretnej usługi, które są powiązane z operacją. Zwykle zawiera on informacje o postępach i typowe metadane, np. czas utworzenia. Niektóre usługi mogą nie udostępniać takich metadanych. Każda metoda, która zwraca długo trwającą operację, powinna udokumentować typ metadanych (jeśli taki 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

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

Pole sumy result. Wynik operacji, którym może być error lub prawidłowy element response. Jeśli done == false, nie ustawiono ani error, ani response. Jeśli done == true, można ustawić dokładnie jedno z tych wartości: error lub response. Niektóre usługi mogą nie zapewniać oczekiwanych 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 zwróci żadnych danych o powodzeniu, np. Delete, odpowiedź to google.protobuf.Empty. Jeśli pierwotna metoda to standardowa metoda Get/Create/Update, odpowiedzią powinna być zasób. W przypadku innych metod odpowiedź powinna mieć typ XxxResponse, gdzie Xxx to pierwotna nazwa metody. Jeśli np. pierwotna nazwa metody to TakeSnapshot(), przewidywany typ odpowiedzi 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 błędu logicznego, który jest odpowiedni dla różnych środowisk programowania, w tym interfejsów API REST i interfejsów API RPC. Jest używany przez gRPC. Każdy komunikat Status zawiera 3 rodzaje danych: kod błędu, komunikat o błędzie i szczegóły błędu.

Więcej informacji o tym modelu błędu i o tym, jak z nim korzystać, znajdziesz w dokumencie API Design Guide (w języku angielskim).

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

integer

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

message

string

Komunikat o błędzie widoczny dla dewelopera w języku angielskim. Każdy komunikat o błędzie widoczny dla użytkownika powinien być zlokalizowany i wysyłany w polu google.rpc.Status.details lub zlokalizowany przez klienta.

details[]

object

Lista komunikatów zawierających szczegółowe informacje o błędzie. Istnieje wspólny zestaw typów wiadomości używanych 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" }.

Metody

get

Pobiera najnowszy stan długo trwającej operacji.