Package google.rpc

Índice

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"
  }
}
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<string, 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).

ResourceInfo

Descreve o recurso que está sendo acessado.

Campos
resource_type

string

Um nome para o tipo de recurso acessado, por exemplo, "sql table", "cloud Storage bucket", "file", "Google calendar"; ou do tipo de URL do recurso, por exemplo, "type.googleapis.com/google.pubsub.v1.Topic".

resource_name

string

O nome do recurso que está sendo acessado. Por exemplo, o nome de uma agenda compartilhada: "example.com_4fghdhgsrgh@group.calendar.google.com", se o erro atual for google.rpc.Code.PERMISSION_DENIED.

owner

string

O proprietário do recurso (opcional). Por exemplo, "user:" ou "project:".

description

string

Descreve o erro encontrado ao acessar este recurso. Por exemplo, a atualização de um projeto na nuvem pode exigir a permissão writer no projeto do Play Console.