Operation

Этот ресурс представляет собой длительную операцию, которая является результатом вызова сетевого 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/some/unique/name .

metadata

object

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

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

done

boolean

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

Поле Union result . Результат операции, которые могут быть либо error или действительный response . Если done == false , ни error , ни response устанавливаются. Если done == true , именно одна из error или response установлен. result может быть только один из следующих условий :
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" } .