REST Resource: operations

Zasób: operacja

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 przez serwer, która jest niepowtarzalna tylko w ramach tej samej usługi, która ją zwraca. Jeśli używasz domyślnego mapowania HTTP, name powinna być nazwą zasobu kończącą się na operations/{unique_id}.

metadata

object

Metadane związane z usługą powiązane z operacją. Zwykle zawiera informacje o postępach i powszechnie używane metadane, takie jak czas utworzenia. Niektóre usługi mogą nie udostępniać takich metadanych. Każda metoda zwracająca długotrwałą 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

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

Pole unii result. Wynik operacji, którym może być error lub prawidłowy response. Jeśli done = false, ani error, ani response nie są ustawione. Jeśli done == true, można ustawić dokładnie jedną z tych wartości error lub response. Niektóre usługi mogą nie dostarczyć wyniku. 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, udana odpowiedź operacji. Jeśli pierwotna metoda nie zwraca żadnych danych o sukcesie, np. Delete, odpowiedź to google.protobuf.Empty. Jeśli oryginalna metoda to standardowa Get/Create/Update, odpowiedzią powinna być dana usługa. W przypadku innych metod odpowiedź powinna mieć typ XxxResponse, gdzie Xxx to nazwa pierwotnej metody. Jeśli na przykład pierwotna nazwa metody to TakeSnapshot(), 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 w różnych środowiskach programowania, w tym w interfejsach API typu REST i RPC. Jest używany przez 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łędów i sposobach jego używania znajdziesz w przewodniku 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ą równą google.rpc.Code.

message

string

Komunikat o błędzie dla programisty, który powinien być w języku angielskim. 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 wiadomości zawierających szczegóły błędu. Interfejsy API mogą korzystać z wspólnego zestawu typów wiadomości.

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

cancel

Rozpoczyna asynchroniczne anulowanie długotrwałej operacji.

delete

Usuwa długo działającą operację.

get

Pobiera najnowszy stan długo trwającej operacji.

list

Wypisuje operacje pasujące do określonego w żądaniu filtra.