REST Resource: operations

Ресурс: Операция

Этот ресурс представляет длительную операцию, являющуюся результатом вызова сетевого API.

Представление 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.
}
Поля
name

string

Назначаемое сервером имя, уникальное только в пределах той же службы, которая его первоначально вернула. Если вы используете сопоставление HTTP по умолчанию, name должно быть именем ресурса, заканчивающимся operations/{unique_id} .

metadata

object

Это поле будет содержать объект DevicesLongRunningOperationMetadata , если операция создана с помощью claimAsync , unclaimAsync или updateMetadataAsync .

Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } .

done

boolean

Если значение равно false , это означает, что операция все еще выполняется. Если true , операция завершена, и доступна либо error , либо response .

result поля объединения. Результат операции, который может быть как error , так и допустимым response . Если done == false , ни error , ни response не устанавливаются. Если done == true , может быть установлена ​​только одна error или response . Некоторые сервисы могут не дать результата. result может быть только одним из следующих:
error

object ( Status )

Это поле всегда не будет установлено, если операция создана с помощью claimAsync , unclaimAsync или updateMetadataAsync . В этом случае информация об ошибке для каждого устройства задается в response.perDeviceStatus.result.status .

response

object

Это поле будет содержать объект DevicesLongRunningOperationResponse , если операция создана с помощью claimAsync , unclaimAsync или updateMetadataAsync .

Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } .

Положение дел

Тип Status определяет модель логической ошибки, подходящую для различных сред программирования, включая REST API и RPC API. Он используется gRPC . Каждое сообщение Status содержит три элемента данных: код ошибки, сообщение об ошибке и сведения об ошибке.

Узнать больше об этой модели ошибок и о том, как с ней работать, можно в Руководстве по дизайну API .

Представление JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Поля
code

integer

Код состояния, который должен быть перечислимым значением google.rpc.Code .

message

string

Сообщение об ошибке для разработчика, которое должно быть на английском языке. Любое сообщение об ошибке, с которым сталкивается пользователь, должно быть локализовано и отправлено в поле google.rpc.Status.details или локализовано клиентом.

details[]

object

Список сообщений, содержащих сведения об ошибке. Существует общий набор типов сообщений для использования API.

Объект, содержащий поля произвольного типа. Дополнительное поле "@type" содержит URI, идентифицирующий тип. Пример: { "id": 1234, "@type": "types.example.com/standard/id" } .

Методы

get

Получает последнее состояние длительной операции.