En este documento, se describe el proyecto de cuota y cómo se determina. Asegúrate de que tu proyecto de cuota esté configurado correctamente para evitar errores y solicitudes fallidas a las APIs de Cloud.
Debes especificar un proyecto de cuota porque cada solicitud a una API de Google Cloud se descuenta de una cuota y porque las cuotas se aplican por proyecto. Para obtener más información, consulta Cómo configurar el proyecto de cuota.
Nota para los usuarios de la CLI de gcloud: A veces, el proyecto de cuota se denomina proyecto de facturación. Esto se debe a que la marca billing_project
tiene prioridad sobre la propiedad billing/quota_project
en tu configuración de gcloud CLI.
Cómo se determina el proyecto de cuota
La forma en que se determina el proyecto de cuota depende del tipo de método de API que uses: API basada en recursos o API basada en clientes. En casos excepcionales, un servicio puede tener ambos tipos de métodos de API.
APIs basadas en recursos
Para las API de Cloud basadas en recursos, el proyecto que proporciona cuota para una llamada a la API también es el proyecto que contiene el recurso al que se accede. Por ejemplo, cuando creas una instancia de Compute Engine, debes especificar el proyecto para esa nueva instancia. Luego, el proyecto contiene la instancia recién creada. Más adelante, si realizas operaciones en la instancia de Compute Engine, el proyecto que contiene la instancia proporciona la cuota para la solicitud. Esto se aplica independientemente de si usas Google Cloud CLI, la API de REST o las bibliotecas cliente.
No puedes cambiar el proyecto de cuota que usa una solicitud a una API basada en recursos. La solicitud siempre usa el proyecto que contiene el recurso en el que opera la solicitud.
APIs basadas en el cliente
Si una API no es una API basada en recursos, es una API basada en cliente. Por ejemplo, la API de Cloud Translation es una API basada en cliente de uso común.
Las solicitudes pueden fallar si realizas una solicitud a una API basada en clientes y no se puede identificar el proyecto de cuota. El proyecto de cuota se puede configurar de varias maneras y se verifica si marcas las siguientes opciones. Aparecen en el siguiente orden de prioridad:
Especificado en la solicitud: Es el proyecto de cuota que se especificó en la solicitud. (Cuando usas bibliotecas cliente, también puedes usar variables de entorno en tus solicitudes).
Clave de API: Si usas una clave de API para proporcionar credenciales para una solicitud, el proyecto asociado con la clave de API se usa como proyecto de cuota.
Credenciales de Google Cloud CLI: Si usas la CLI de gcloud para obtener tu token de acceso y te autenticaste en la CLI de gcloud con tus credenciales de usuario, el proyecto compartido de la CLI de gcloud se usa como proyecto de cuota. Sin embargo, no todas las APIs basadas en clientes usan el proyecto compartido.
Cuenta de servicio: Si la principal de la llamada a la API es una cuenta de servicio, incluido el uso de identidad, el proyecto asociado a la cuenta de servicio se usa como proyecto de cuota.
Federación de identidades de personal: Si el principal de la API es un usuario de la federación de identidades de personal, el proyecto de usuario de grupos de personal se usa como proyecto de cuota.
Si ninguna de las verificaciones anteriores genera un proyecto de cuota, la solicitud falla.
Acerca del proyecto compartido de la CLI de gcloud para las APIs basadas en clientes
Si usas la CLI de gcloud para realizar una solicitud a una API basada en el cliente sin configurar el proyecto de cuota, la solicitud puede recurrir al proyecto compartido de la CLI de gcloud o a la solicitud podría fallar. Todas las solicitudes de gcloud CLI usan el proyecto compartido de gcloud CLI en todos los proyectos, por lo que si muchas otras solicitudes de gcloud CLI también usan este proyecto como su proyecto de cuota, la cuota para el proyecto compartido podría agotarse temporalmente. Si esto sucede, tu solicitud falla con un mensaje de error de cuota agotada.
Identifica el proyecto de cuota actual para las APIs basadas en el cliente
El método para identificar el proyecto de cuota depende de cómo esté configurado tu proyecto:
Si un método de API está configurado para usar una API basada en recursos, el proyecto del cliente usa el proyecto del recurso como proyecto de cuota.
Si hay una anulación del proyecto del usuario, usa el comando
gcloud [command] --log-http
para imprimir un registro y verificar el proyecto de cuota que aparece en el campox-goog-user-project
.Si se usó una clave de API para la autenticación, usa el comando
gcloud [command] --log-http
para imprimir un registro y verificar el proyecto de cuota que aparece en el campox-goog-api-key
.
Para otras configuraciones, el proyecto de cuota no aparece en los encabezados HTTP.
Determina si una API está basada en recursos o en clientes
Puede ser difícil determinar qué tipo de API usas. Sin embargo, la activación y las cuotas se aplican de la misma manera. Por ejemplo, si una cuenta de servicio del proyecto A llama a un método de lectura en el proyecto B y ninguno de los proyectos tiene habilitada la API, el mensaje de error API not enabled
indica qué proyecto se verificó para su activación. El proyecto verificado para la activación es el mismo proyecto verificado para la cuota de frecuencia.
¿Qué sigue?
Obtén más información para configurar el proyecto de cuota.
Obtén más información sobre las credenciales predeterminadas de la aplicación
Obtén más información sobre la autenticación
Comprende las cuotas
Para los usuarios de gcloud CLI:
- Para obtener más información sobre la configuración de la CLI de gcloud, consulta la documentación de referencia de
gcloud config
. - Para obtener más información sobre la marca
--billing_project
, consulta la referencia del SDK de Google Cloud.
- Para obtener más información sobre la configuración de la CLI de gcloud, consulta la documentación de referencia de