Operation

Cette ressource représente une opération de longue durée résultant d'un appel d'API réseau.

Représentation 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.
}
Champs
name

string

Nom attribué par le serveur. Unique au sein du service qui le renvoie initialement. Si vous utilisez le mappage HTTP par défaut, le champ name doit être un nom de ressource se terminant par operations/{unique_id}.

metadata

object

Métadonnées spécifiques au service associées à l'opération. Ce champ contient généralement des informations de progression et des métadonnées courantes telles que la date de création. Certains services peuvent ne pas fournir ce genre de métadonnées. Toute méthode renvoyant une opération de longue durée doit indiquer le type de métadonnées, le cas échéant.

Objet contenant des champs d'un type arbitraire. Un champ supplémentaire "@type" contient un URI identifiant le type. Exemple : { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Si la valeur est false, cela signifie que l'opération est toujours en cours. Si elle est définie sur true, l'opération est terminée, et un message error ou response est disponible.

Champ d'union result. Résultat de l'opération, qui peut être une erreur (message error) ou une réponse valide (message response). Si done == false, ni error, ni response ne sont définis. Si done == true, une seule des options error ou response peut être définie. Certains services peuvent ne pas fournir le résultat. result ne peut être qu'un des éléments suivants :
error

object (Status)

Résultat d'erreur de l'opération en cas d'échec ou d'annulation.

response

object

Réponse normale de l'opération lorsqu'elle aboutit. Si la méthode d'origine ne renvoie aucune donnée en cas de réussite (telle que Delete), la réponse est google.protobuf.Empty. Si la méthode d'origine est une méthode Get/Create/Update standard, la réponse doit correspondre à la ressource. Pour les autres méthodes, la réponse doit avoir le type XxxResponse, où Xxx est le nom de la méthode d'origine. Par exemple, si le nom de la méthode d'origine est TakeSnapshot(), le type de réponse déduit est TakeSnapshotResponse.

Objet contenant des champs d'un type arbitraire. Un champ supplémentaire "@type" contient un URI identifiant le type. Exemple : { "id": 1234, "@type": "types.example.com/standard/id" }.

État

Le type Status définit un modèle d'erreur logique adapté aux différents environnements de programmation, y compris les API REST et RPC. Il est utilisé par le protocole gRPC. Chaque message Status contient trois éléments de données : un code d'erreur, un message d'erreur et les détails de l'erreur.

Pour en savoir plus sur ce modèle d'erreur et sur son utilisation, consultez le Guide de conception d'API.

Représentation JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Champs
code

integer

Code d'état, qui doit être une valeur d'énumération de google.rpc.Code.

message

string

Message d'erreur destiné au développeur, qui doit être en anglais. Tout message d'erreur destiné aux utilisateurs doit être localisé et envoyé dans le champ google.rpc.Status.details, ou localisé par le client.

details[]

object

Liste de messages comportant les détails de l'erreur. Il existe un ensemble commun de types de message utilisable par les API.

Objet contenant des champs d'un type arbitraire. Un champ supplémentaire "@type" contient un URI identifiant le type. Exemple : { "id": 1234, "@type": "types.example.com/standard/id" }.