REST Resource: operations

Recurso: Operación

Este recurso representa una operación de ejecución prolongada que es el resultado de una llamada de 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 solo es único dentro del mismo servicio que lo devuelve originalmente. Si usa la asignación HTTP predeterminada, el name debe ser un nombre de recurso que termine con 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 el tiempo de creación. Es posible que algunos servicios no proporcionen dichos metadatos. Cualquier método que devuelva una operación de ejecución prolongada 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 el error o la response están disponibles.

result del campo de 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 la response . Si done == true , se puede establecer exactamente uno de error o response . Es posible que algunos servicios no proporcionen el resultado. El result solo puede ser uno de los siguientes:
error

object ( Status )

El resultado de error 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 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 deducida 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 de Status define un modelo de error lógico que es adecuado para diferentes entornos de programación, incluidas las API REST y las API RPC. Es utilizado por gRPC . Cada mensaje de 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 el desarrollador, que debe estar en inglés. Cualquier mensaje de error que vea el usuario debe localizarse y enviarse en el campo google.rpc.Status.details , o el cliente debe localizarlo.

details[]

object

Una lista de mensajes que llevan los detalles del error. Existe un conjunto común de tipos de mensajes para que los utilicen 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 ejecución prolongada.