REST Resource: enterprises.devices.operations

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

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

JSON-представление
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of mutually exclusive fields.
}
Поля
name

string

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

metadata

object

Метаданные, специфичные для конкретной службы и связанные с операцией. Обычно они содержат информацию о ходе выполнения и общие метаданные, такие как время создания. Некоторые службы могут не предоставлять такие метаданные. Любой метод, возвращающий длительную операцию, должен документировать тип метаданных, если таковые имеются.

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

done

boolean

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

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

object ( Status )

Результат ошибки операции в случае сбоя или отмены.

response

object

Обычный, успешный ответ операции. Если исходный метод не возвращает данных в случае успеха, например, Delete , ответ будет иметь тип google.protobuf.Empty . Если исходный метод — стандартный Get / Create / Update , ответ должен представлять собой ресурс. Для других методов ответ должен иметь тип XxxResponse , где Xxx — имя исходного метода. Например, если имя исходного метода — TakeSnapshot() , то предполагаемый тип ответа — TakeSnapshotResponse .

Объект, содержащий поля произвольного типа. Дополнительное поле "@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" } .

Методы

cancel

Инициирует асинхронную отмену длительной операции.

get

Получает самую актуальную информацию о давно работающем предприятии.

list

Выводит список операций, соответствующих указанному фильтру в запросе.