Descreve a causa do erro com detalhes estruturados.
Exemplo de erro ao entrar em contato com a API "pubsub.googleapis.com" quando ela não está ativada:
{ "reason": "API_DISABLED"
"domain": "googleapis.com"
"metadata": {
"resource": "projects/123",
"service": "pubsub.googleapis.com"
}
}
Essa resposta indica que a API pubsub.googleapis.com não está ativada.
Exemplo de um erro retornado ao tentar criar uma instância do Spanner em uma região que está fora de estoque:
{ "reason": "STOCKOUT"
"domain": "spanner.googleapis.com",
"metadata": {
"availableRegions": "us-central1,us-east2"
}
}
Representação JSON |
---|
{ "reason": string, "domain": string, "metadata": { string: string, ... } } |
Campos | |
---|---|
reason |
O motivo do erro. Esse é um valor constante que identifica a causa próxima do erro. Os motivos dos erros são exclusivos em um domínio específico. Ele precisa ter no máximo 63 caracteres e corresponder a uma expressão regular de |
domain |
O agrupamento lógico ao qual o "motivo" pertence. O domínio de erro normalmente é o nome de serviço registrado da ferramenta ou do produto que gera o erro. Exemplo: "pubsub.googleapis.com". Se o erro for gerado por alguma infraestrutura comum, o domínio do erro precisará ser um valor globalmente exclusivo que identifique a infraestrutura. Para a infraestrutura da API do Google, o domínio do erro é "googleapis.com". |
metadata |
São outros detalhes estruturados sobre esse erro. As chaves precisam corresponder a /[a-zA-Z0-9-_]/ e ter o limite de 64 caracteres. Ao identificar o valor atual de um limite excedido, as unidades devem estar contidas na chave, não no valor. Por exemplo, em vez de {"instanceLimit": "100/request"}, deve ser retornado como {"instanceLimitPerRequest": "100"}, se o cliente exceder o número de instâncias que podem ser criadas em uma única solicitação (lote). |