ErrorInfo

Décrit la cause de l'erreur avec des détails structurés.

Exemple d'erreur lors du contact avec l'API "pubsub.googleapis.com" lorsqu'elle n'est pas activée :

{ "reason": "API_DISABLED"
  "domain": "googleapis.com"
  "metadata": {
    "resource": "projects/123",
    "service": "pubsub.googleapis.com"
  }
}

Cette réponse indique que l'API pubsub.googleapis.com n'est pas activée.

Exemple d'erreur renvoyée lors de la tentative de création d'une instance Spanner dans une région non disponible :

{ "reason": "STOCKOUT"
  "domain": "spanner.googleapis.com",
  "metadata": {
    "availableRegions": "us-central1,us-east2"
  }
}
Représentation JSON
{
  "reason": string,
  "domain": string,
  "metadata": {
    string: string,
    ...
  }
}
Champs
reason

string

Raison de l'erreur. Il s'agit d'une valeur constante qui identifie la cause immédiate de l'erreur. Les raisons d'erreur sont uniques dans un domaine d'erreurs particulier. Cette valeur ne doit pas comporter plus de 63 caractères et doit correspondre à l'expression régulière [A-Z][A-Z0-9_]+[A-Z0-9], qui représente UPPER_SNAKE_CASE.

domain

string

Regroupement logique auquel appartient la "raison". Le domaine d'erreur est généralement le nom de service enregistré de l'outil ou du produit qui génère l'erreur. Exemple : "pubsub.googleapis.com". Si l'erreur est générée par une infrastructure commune, le domaine d'erreur doit être une valeur unique au niveau mondial qui identifie l'infrastructure. Pour l'infrastructure de l'API Google, le domaine d'erreur est "googleapis.com".

metadata

map (key: string, value: string)

Informations structurées supplémentaires sur cette erreur.

Les clés doivent correspondre à l'expression régulière [a-z][a-zA-Z0-9-_]+, mais doivent idéalement être au format lowerCamelCase. De plus, elles ne doivent pas comporter plus de 64 caractères. Lorsque vous identifiez la valeur actuelle d'une limite dépassée, les unités doivent être contenues dans la clé, et non dans la valeur. Par exemple, au lieu de {"instanceLimit": "100/request"}, la valeur doit être renvoyée sous la forme {"instanceLimitPerRequest": "100"}, si le client dépasse le nombre d'instances pouvant être créées dans une seule requête (par lot).

Objet contenant une liste de "key": value paires. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.