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/{unique_id} .

metadata

object

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

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

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

response

object

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

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