ErrorInfo

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

string

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 [A-Z][A-Z0-9_]+[A-Z0-9], que representa UPPER_SNAKE_CASE.

domain

string

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

map (key: string, value: string)

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).