REST Resource: operations

Ressource : Opération

Cette ressource représente une opération de longue durée qui est le résultat 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.
}
Des champs
name

string

Le nom attribué par le serveur, qui est unique uniquement au sein du même service qui l'a renvoyé à l'origine. Si vous utilisez le mappage HTTP par défaut, le 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. Il contient généralement des informations sur la progression et des métadonnées communes telles que l'heure de création. Certains services peuvent ne pas fournir de telles métadonnées. Toute méthode qui renvoie une opération de longue durée doit documenter le type de métadonnées, le cas échéant.

Un 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 true , l’opération est terminée et error ou response est disponible.

result du champ Union. Le résultat de l'opération, qui peut être soit une error , soit une response valide. Si done == false , ni error ni response ne sont définies. Si done == true , exactement une error ou response peut être définie. Certains services peuvent ne pas fournir le résultat. result ne peut être que l'un des éléments suivants :
error

object ( Status )

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

response

object

La réponse normale de l'opération en cas de succès. Si la méthode d'origine ne renvoie aucune donnée en cas de succès, telle que Delete , la réponse est google.protobuf.Empty . Si la méthode d'origine est standard Get / Create / Update , la réponse doit être la ressource. Pour les autres méthodes, la réponse doit être du 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 .

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

Statut

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

Vous pouvez en savoir plus sur ce modèle d'erreur et comment l'utiliser dans le Guide de conception d'API .

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

integer

Le code d'état, qui doit être une valeur énumérée de google.rpc.Code .

message

string

Un message d'erreur destiné aux développeurs, qui doit être en anglais. Tout message d'erreur destiné à l'utilisateur doit être localisé et envoyé dans le champ google.rpc.Status.details , ou localisé par le client.

details[]

object

Une liste de messages contenant les détails de l'erreur. Il existe un ensemble commun de types de messages que les API peuvent utiliser.

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

Méthodes

get

Obtient le dernier état d’une opération de longue durée.