REST Resource: sdfdownloadtasks.operations

Ресурс: Operation

Этот ресурс представляет собой продолжительную операцию, которая запущена в результате вызова сетевого 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" }.

Методы

get

Получает последнее состояние асинхронной операции скачивания SDF.