Descripción general del proyecto de cuota

En esta página, se define el uso del proyecto de cuota y cómo se determina el proyecto. Asegúrate de que el proyecto de cuota esté configurado de forma correcta para evitar solicitudes fallidas a las APIs de Google Cloud y errores de cuota innecesarios.

Cada solicitud a una API de Google Cloud se descuenta de una cuota. Las cuotas se aplican en cada proyecto, por lo que cada solicitud necesita un proyecto para proporcionar una cuota. Ese proyecto se llama proyecto de cuota. A veces, también se denomina proyecto de facturación. El proyecto de facturación y el de cuota son el mismo proyecto. Para obtener más información, consulta Cómo configurar el proyecto de cuota.

Cómo se determina el proyecto de cuota

La forma en que se determina el proyecto de cuota depende del tipo de API que uses: API basada en recursos o API basada en clientes.

APIs basadas en recursos

Para las APIs de Google 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 sin importar si usas Google Cloud CLI, 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.

Cuando realizas una solicitud a una API basada en clientes, si no se puede identificar un proyecto de cuota, la solicitud falla.

El proyecto de cuota se puede configurar de varias maneras, y el proyecto se verificará si marcas las siguientes opciones. El orden de la lista es el orden de prioridad.

  • El proyecto de cuota configurado en el entorno o en la solicitud.
  • 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.
  • Si usas Google Cloud CLI 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. No todas las APIs basadas en clientes usan el proyecto compartido.
  • 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.
  • 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

Para identificar el proyecto que se usa para un comando de la CLI de gcloud, incluye la marca --log-http con la CLI de gcloud a fin de imprimir los encabezados para el comando. El registro incluye el proyecto que se usó para este comando como el proyecto de cuota en el campo X-Goog-User-Project.

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 la cuota se aplican de la misma manera. 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 está verificado para su activación. El proyecto verificado para la activación es el mismo proyecto verificado para la cuota de frecuencia.

¿Qué sigue?