REST Resource: operations

Zasób: Operacja

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

Reprezentacja 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 unikalna tylko w ramach tej samej usługi, która pierwotnie ją zwróciła. Jeśli używasz domyślnego mapowania HTTP, name powinna być nazwa zasobu kończąca się na operations/{unique_id} .

metadata

object

Metadane specyficzne dla usługi powiązane z operacją. Zwykle zawiera informacje o postępie i typowe metadane, takie jak czas utworzenia. Niektóre usługi mogą nie udostępniać takich metadanych. Każda metoda zwracająca długotrwałą operację powinna dokumentować 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 zostanie zakończona i dostępny będzie error lub response .

Wynik result Unii. Wynik operacji, który może być error lub prawidłową response . Jeśli done == false , nie zostanie ustawiony ani error , ani response . Jeśli done == true , można ustawić dokładnie jeden error lub response . Niektóre usługi mogą nie zapewniać wyniku. result może być tylko jeden z następujących:
error

object ( Status )

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

response

object

Normalna reakcja operacji w przypadku powodzenia. Jeśli oryginalna metoda nie zwróci żadnych danych o powodzeniu, np. Delete , odpowiedzią będzie google.protobuf.Empty . Jeśli oryginalną metodą jest standardowa metoda Get / Create / Update , odpowiedzią powinien być zasób. W przypadku innych metod odpowiedź powinna mieć typ XxxResponse , gdzie Xxx to oryginalna nazwa metody. Na przykład, jeśli oryginalna nazwa metody to TakeSnapshot() , wywnioskowany 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" } .

Status

Typ Status definiuje model błędów logicznych odpowiedni dla różnych środowisk programistycznych, w tym interfejsów API REST i interfejsów API RPC. Jest używany przez gRPC . Każdy komunikat Status zawiera trzy elementy danych: kod błędu, komunikat o błędzie i szczegóły błędu.

Więcej informacji na temat tego modelu błędów i sposobu pracy z nim można znaleźć w Przewodniku projektowania interfejsu API .

Reprezentacja 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 skierowany do programisty, który powinien być w języku angielskim. Każdy komunikat o błędzie wyświetlany użytkownikowi powinien zostać zlokalizowany i przesłany w polu google.rpc.Status.details lub zlokalizowany przez klienta.

details[]

object

Lista komunikatów zawierających szczegóły błędu. Istnieje wspólny zestaw typów komunikatów, z których mogą korzystać 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ługotrwałej operacji.