Operation

Este recurso representa una operación de larga duración que es el resultado de una llamada a la API de red.

Representación 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.
}
Los campos
name

string

El nombre asignado por el servidor, que es único dentro del servicio que lo devuelve originalmente. Si utiliza el valor por defecto de HTTP mapeo, el name debe tener el formato de operations/some/unique/name .

metadata

object

Metadatos específicos del servicio asociados con la operación. Por lo general, contiene información sobre el progreso y metadatos comunes, como la hora de creación. Es posible que algunos servicios no proporcionen dichos metadatos. Cualquier método que devuelva una operación de larga duración debe documentar el tipo de metadatos, si corresponde.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene un URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" } .

done

boolean

Si el valor es false , significa que la operación está aún en curso. Si true , la operación se ha completado, y, o bien error o response está disponible.

Unión campo de result . El resultado de la operación, que puede ser o bien un error o una válida response . Si done == false , ni error ni response se encuentra. Si done == true , exactamente uno de error o de response se establece. result sólo puede ser uno de los siguientes:
error

object( Status )

El error resultado de la operación en caso de falla o cancelación.

response

object

La respuesta normal de la operación en caso de éxito. Si el método original no devuelve datos en caso de éxito, tales como Delete , la respuesta es google.protobuf.Empty . Si el método original es estándar Get / Create / Update , la respuesta debería ser el recurso. Para otros métodos, la respuesta debería tener el tipo XxxResponse , donde Xxx es el nombre método original. Por ejemplo, si el nombre del método original es TakeSnapshot() , el tipo de respuesta inferido es TakeSnapshotResponse .

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene un URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" } .