ErrorInfo

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

Voici un exemple d'erreur qui se produit lorsque vous contactez l'API "pubsub.googleapis.com" alors qu'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.

Voici un exemple d'erreur renvoyée lorsque vous essayez de créer une instance Spanner dans une région où le produit est en rupture de stock :

{ "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 spécifique. 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 des 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 à une expression régulière de [a-z][a-zA-Z0-9-_]+, mais doivent idéalement être en lowerCamelCase. De plus, ils ne doivent pas dépasser 64 caractères. Lorsque vous identifiez la valeur actuelle d'une limite dépassée, les unités doivent figurer dans la clé, et non dans la valeur. Par exemple, au lieu de {"instanceLimit": "100/request"}, la réponse devrait être {"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 paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.