REST Resource: operations

Zasób: operacja

Ten zasób reprezentuje długotrwałą operację, która jest 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 unikalna tylko w obrębie tej samej usługi, która pierwotnie została zwrócona. Jeśli używasz domyślnego mapowania HTTP, pole name powinno być nazwą zasobu kończącą się na 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 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 jest ukończona i dostępna jest wartość error lub response.

Pole sumy result. Wynik operacji, którym może być error lub prawidłowy response. Jeśli done == false, nie ustawiono error ani response. Jeśli done == true, może być ustawione dokładnie jedna z tych wartości: error lub response. Niektóre usługi mogą nie dawać oczekiwanych rezultatów. result może mieć tylko jedną z tych wartości:
error

object (Status)

To pole nie jest zawsze ustawione, jeśli operacja została utworzona przez claimAsync, unclaimAsync lub updateMetadataAsync. W takim przypadku informacje o błędach dla każdego urządzenia są ustawione w zasadzie 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 identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.

Status

Typ Status określa logiczny model błędów odpowiedni dla różnych środowisk programowania, w tym interfejsów API typu REST i RPC. Jest używany przez gRPC. Każdy komunikat Status zawiera 3 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 jego działania 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 widoczny dla dewelopera. Powinien być w języku angielskim; Każdy komunikat o błędzie widoczny dla użytkowników powinien zostać zlokalizowany i wysłany w polu google.rpc.Status.details lub zlokalizowany przez klienta.

details[]

object

Lista komunikatów ze szczegółami błędu. Istnieje typowy zestaw typów wiadomości, których mogą używać 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.