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" } .