Operation

Ten zasób reprezentuje długotrwałą operację, która jest 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 unikatowa tylko w obrębie usługi, która ją pierwotnie zwróciła. Jeśli używasz domyślny HTTP mapowaniu, name powinna mieć format operations/some/unique/name .

metadata

object

Metadane specyficzne dla usługi powiązane z operacją. Zwykle zawiera informacje o postępie i wspólne metadane, takie jak czas tworzenia. Niektóre usługi mogą nie udostępniać takich metadanych. Każda metoda, która zwraca długotrwałą operację, powinna dokumentować typ metadanych, jeśli taki istnieje.

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

done

boolean

Jeśli wartość jest false , oznacza to, że operacja jest nadal w toku. Jeśli true , operacja jest zakończona, i albo error lub response jest dostępny.

Unia pole result . Wynik operacji, które mogą być albo error lub ważny response . Jeśli done == false , ani error ani response jest ustawiony. Jeśli done == true , dokładnie jeden z error lub response jest ustawiony. result może być tylko jedna z poniższych sytuacji:
error

object( Status )

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

response

object

Normalna reakcja operacji w przypadku powodzenia. Jeśli oryginalna metoda zwraca żadnych danych na temat sukcesu, takie jak Delete , odpowiedź jest google.protobuf.Empty . Jeśli oryginalna metoda jest standardem Get / Create / Update , odpowiedź powinna być zasobem. W przypadku innych metod, odpowiedź powinna mieć typ XxxResponse , gdzie Xxx jest oryginalna nazwa metody. Na przykład, jeśli oryginalna nazwa metody jest TakeSnapshot() , wywnioskowaną typu reakcja jest TakeSnapshotResponse .

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