REST Resource: operations

Recurso: Operación

Este recurso representa una operación de larga duración que es el resultado de una llamada 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.
}
Campos
name

string

El nombre asignado por el servidor, que sólo es único dentro del mismo servicio que lo devuelve originalmente. Si utiliza la asignación HTTP predeterminada, el name debe ser un nombre de recurso que termine en operations/{unique_id} .

metadata

object

Metadatos específicos del servicio asociados con la operación. Por lo general, contiene información de 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 aún está en curso. Si es true , la operación se completa y error o response están disponibles.

result de campo de la Unión. El resultado de la operación, que puede ser un error o una response válida. Si done == false , no se establece ni error ni response . Si done == true , se puede establecer exactamente uno de error o response . Es posible que algunos servicios no proporcionen el resultado. result puede ser sólo uno de los siguientes:
error

object ( Status )

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

response

object

La respuesta normal de la operación en caso de éxito. Si el método original no devuelve datos sobre el éxito, como Delete , la respuesta es google.protobuf.Empty . Si el método original es Get / Create / Update estándar, la respuesta debe ser el recurso. Para otros métodos, la respuesta debe tener el tipo XxxResponse , donde Xxx es el nombre del 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" } .

Estado

El tipo Status define un modelo de error lógico que es adecuado para diferentes entornos de programación, incluidas las API REST y API RPC. Es utilizado por gRPC . Cada mensaje Status contiene tres datos: código de error, mensaje de error y detalles del error.

Puede obtener más información sobre este modelo de error y cómo trabajar con él en la Guía de diseño de API .

Representación JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campos
code

integer

El código de estado, que debe ser un valor de enumeración de google.rpc.Code .

message

string

Un mensaje de error para desarrolladores, que debería estar en inglés. Cualquier mensaje de error que vea el usuario debe localizarse y enviarse en el campo google.rpc.Status.details , o ser localizado por el cliente.

details[]

object

Una lista de mensajes que contienen los detalles del error. Existe un conjunto común de tipos de mensajes que pueden utilizar las API.

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

Métodos

get

Obtiene el estado más reciente de una operación de larga duración.