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 unikalna w obrębie tej samej usługi, którą pierwotnie zwracała. Jeśli używasz domyślnego mapowania HTTP, właściwość name powinna być nazwą zasobu kończącą się ciągiem operations/{unique_id}.

metadata

object

To pole będzie zawierać obiekt DevicesLongRunningOperationMetadata, jeśli operacja została utworzona przez claimAsync, unclaimAsync lub updateMetadataAsync.

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

done

boolean

Wartość false oznacza, że operacja jest wciąż wykonywane. Jeśli zasada true jest zakończona, operacja jest zakończona i dostępna jest wartość error lub response.

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

object (Status)

To pole nie zostanie ustawione, jeśli operacja zostanie utworzona przez claimAsync, unclaimAsync lub updateMetadataAsync. W takim przypadku informacje o błędach dla każdego urządzenia są określone w polu response.perDeviceStatus.result.status.

response

object

To pole będzie zawierać obiekt DevicesLongRunningOperationResponse, jeśli operacja została utworzona przez claimAsync, unclaimAsync lub updateMetadataAsync.

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

Stan

Typ Status określa logiczny model błędu odpowiedni dla różnych środowisk programowania, w tym interfejsów API REST i interfejsów RPC. Używa go gRPC. Każda wiadomość Status zawiera 3 elementy: 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 interfejsie API.

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

integer

Kod stanu, który powinien mieć wartość google.rpc.Code.

message

string

Komunikat o błędzie wyświetlany deweloperowi, który powinien być w języku angielskim. Komunikat o błędzie widoczny dla użytkownika powinien być zlokalizowany i wysł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 wiadomości do użycia przez interfejsy API.

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

Metody

get

Pobiera najnowszy stan długo trwającej operacji.