Package google.rpc

Índice

ErrorInfo

Describe la causa del error con detalles estructurados.

Ejemplo de un error cuando se contacta la API de "pubsub.googleapis.com" cuando no está habilitada:

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

Esta respuesta indica que la API de pubsub.googleapis.com no está habilitada.

Ejemplo de un error que se muestra cuando se intenta crear una instancia de Spanner en una región que está agotado:

{ "reason": "STOCKOUT"
  "domain": "spanner.googleapis.com",
  "metadata": {
    "availableRegions": "us-central1,us-east2"
  }
}
Campos
reason

string

El motivo del error. Este es un valor constante que identifica la causa cercana del error. Los motivos de error son únicos dentro de un dominio de errores en particular. Debe tener un máximo de 63 caracteres y coincidir con una expresión regular de [A-Z][A-Z0-9_]+[A-Z0-9], que representa UPPER_SNAKE_CASE.

domain

string

La agrupación lógica a la que pertenece el “motivo”. El dominio de error suele ser el nombre registrado del servicio de la herramienta o el producto que genera el error. Ejemplo: “pubsub.googleapis.com”. Si una infraestructura común genera el error, el dominio de error debe ser un valor único a nivel global que identifique la infraestructura. Para la infraestructura de la API de Google, el dominio de error es “googleapis.com”.

metadata

map<string, string>

Detalles estructurados adicionales sobre este error.

Las claves deben coincidir con /[a-zA-Z0-9-_]/ y tener un límite de 64 caracteres. Cuando se identifica el valor actual de un límite excedido, las unidades deben incluirse en la clave, no en el valor. Por ejemplo, en lugar de {"instanceLimit": "100/request"}, se debe mostrar como {"instanceLimitPerRequest": "100"}, si el cliente supera la cantidad de instancias que se pueden crear en una sola instancia (por lotes) solicitud.

ResourceInfo

Describe el recurso al que se accede.

Campos
resource_type

string

Un nombre para el tipo de recurso al que se accede, p.ej., “tabla de sql”, “bucket de Cloud Storage”, “archivo” o “Calendario de Google”; o la URL del tipo del recurso: p.ej., "type.googleapis.com/google.pubsub.v1.Topic".

resource_name

string

El nombre del recurso al que se accede. Por ejemplo, un nombre de calendario compartido: “example.com_4fghdhgsrgh@group.calendar.google.com”, si el error actual es google.rpc.Code.PERMISSION_DENIED.

owner

string

El propietario del recurso (opcional). Por ejemplo, “usuario:” o “proyecto:”.

description

string

Describe qué error se encuentra cuando se accede a este recurso. Por ejemplo, actualizar un proyecto de la nube puede requerir el permiso writer en el proyecto de la consola para desarrolladores.