Google Cloud usa cuotas para restringir cuánto de un recurso compartido en particular puedes usar. Google Cloud Cada cuota representa un recurso contable específico, como las llamadas a la API para un servicio en particular, la cantidad de bytes enviados a un servicio en particular o la cantidad de conexiones de transmisión que usa tu proyecto de forma simultánea.
Muchos servicios también tienen límites que no están relacionados con el sistema de cuotas. Estas son restricciones fijas, como los tamaños máximos de los mensajes o la cantidad de recursos de Pub/Sub que puedes crear en un proyecto, que no se pueden aumentar ni disminuir.
Ve y administra cuotas
Para un proyecto determinado, puedes usar el panel de cuotas de IAM y administración para ver los límites de cuota y el uso actuales. También puedes usar este panel para hacer lo siguiente:
- Reducir los límites de tu cuota
- Iniciar un proceso para solicitar límites de cuota más altos
Para obtener más información sobre la supervisión y las alertas sobre el uso de tu cuota, consulta Monitoring.
Atribución del uso de cuota
Para la capacidad de procesamiento de suscriptores de envío, se cobra el uso de cuotas al proyecto que contiene la suscripción de envío. Este es el proyecto que aparece en el nombre de la suscripción.
Para todas las demás cuotas, el uso se cobra al proyecto asociado con las credenciales especificadas en la solicitud. El uso de la cuota no se cobra al proyecto que contiene el recurso solicitado.
Por ejemplo, si una cuenta de servicio en el proyecto A envía una solicitud de publicación para publicar en un tema del proyecto B, la cuota se cobra al proyecto A.
En algunos casos, es posible que quieras que el uso de la cuota se cobre a otro proyecto. Puedes usar el parámetro del sistema X-Goog-User-Project para cambiar el proyecto para la atribución de cuota. Para obtener más información sobre X-Goog-User-Project,
consulta Parámetros del sistema.
Puedes usar gcloud CLI para establecer el proyecto para la atribución de cuota para una solicitud específica. gcloud CLI envía el encabezado de la solicitud X-Goog-User-Project.
Debes tener el rol roles/serviceusage.serviceUsageConsumer o un rol personalizado con el permiso serviceusage.services.use en el proyecto que usarás para la atribución de cuota.
En el siguiente ejemplo, se muestra cómo obtener una lista de suscripciones en el proyecto RESOURCE_PROJECT mientras se cobra la cuota de Operaciones de administrador en el proyecto QUOTA_PROJECT. Ejecuta el siguiente comando en tu terminal de Google Cloud CLI:
gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT
Reemplaza QUOTA_PROJECT por el ID del Google Cloud proyecto al que deseas cobrar la cuota.
Ten en cuenta que, en Pub/Sub, el proyecto facturado siempre es el que contiene el recurso. Solo puedes cambiar el proyecto para la atribución de cuota.
Cuotas de Pub/Sub
Las cuotas que se muestran en la siguiente tabla se pueden ver y editar por proyecto en el panel de cuotas de API y servicios.
Las cuotas regionales se dividen en 3 tipos:
- Regiones grandes:
europe-west1,europe-west4,us-central1,us-east1,us-east4,us-west1,us-west2 - Regiones medianas:
asia-east1,asia-northeast1,asia-southeast1,europe-west2,europe-west3 - Regiones pequeñas: el resto de las regiones
Las cuotas de entrega “exactamente una vez” son específicas de la región. Consulta los detalles de cada región en la siguiente tabla.
| Cuota | Límite de cuota predeterminado | Descripción |
|---|---|---|
| Capacidad de procesamiento del publicador por región |
|
El uso de la cuota depende del tamaño de los
Se pueden incluir varios mensajes en una sola
solicitud de publicación, y no hay un cargo de cuota adicional por mensaje. El tamaño del mensaje, según se calcula para
los fines de uso de la cuota, también incluye el campo |
| Capacidad de procesamiento del suscriptor de operaciones de extracción por región |
|
El uso de la cuota depende del tamaño de los
El tamaño del mensaje, según se calcula para los fines de uso de la cuota, también incluye el campo generado automáticamente
|
| Capacidad de procesamiento de la confirmación de recepción por región |
|
El uso de la cuota se basa en el tamaño de las solicitudes
|
| Capacidad de procesamiento de suscripciones de envío por región |
|
Para las solicitudes de entrega de envío realizadas al
extremo de envío, el uso de la cuota depende del tamaño de los
|
| Suscripciones de BigQuery capacidad de procesamiento por región |
|
Para las solicitudes realizadas a BigQuery,
el uso de la cuota depende del tamaño de los |
| Suscripciones de Cloud Storage capacidad de procesamiento por región |
|
Para las solicitudes realizadas a Cloud Storage,
el uso de la cuota depende del tamaño de los |
| Suscripciones de Bigtable (vista previa) capacidad de procesamiento por región |
|
Para las solicitudes realizadas a Bigtable,
el uso de la cuota depende del tamaño de los |
| Capacidad de procesamiento del suscriptor de StreamingPull por región |
|
El uso de la cuota depende del tamaño de los
Las bibliotecas cliente usan StreamingPull operaciones siempre que sea posible. |
| Cantidad de conexiones de StreamingPull abiertas por región |
|
Cantidad de conexiones de StreamingPull abiertas en un momento determinado. Consulta StreamingPull. |
| Operaciones de administrador | 6,000 por minuto (100 ops/s) |
Se cobra cada operación de administrador como una unidad en esta cuota. Las operaciones de administrador incluyen los siguientes métodos RPC:
|
| Cantidad de mensajes consumidos de suscripciones con la entrega “exactamente una vez” habilitada por región |
|
El uso de la cuota se basa en la cantidad de
|
| Cantidad de mensajes confirmados o cuyo plazo se extiende cuando se usan suscripciones con la entrega “exactamente una vez” habilitada por región |
|
El uso de la cuota se basa en la cantidad de IDs de confirmación en las solicitudes
|
Unidades de cuota de capacidad de procesamiento
Se mide el uso de cuotas de capacidad de procesamiento en unidades de 1 KB. 1 KB equivale a 1,000 bytes. Por ejemplo, en una PublishRequest con 105 mensajes de 50 bytes cada uno, el tamaño de los datos del usuario es 105 * 50 bytes = 5250 bytes, por lo que el uso de la cuota es max(1kB, ceil(5250 bytes/1000)) = 6kB.
Límites de recursos
| Recurso | Límites |
|---|---|
| Proyecto |
10,000 temas 10,000 suscripciones adjuntas o sin adjuntar 5,000 instantáneas 10,000 esquemas |
| Tema |
10,000 suscripciones adjuntas 5,000 instantáneas adjuntas Si se configura la retención de mensajes del tema, los mensajes publicados en un tema se pueden retener en el almacenamiento persistente hasta por 31 días desde el momento de la publicación. |
| Suscripción |
De forma predeterminada, retiene los mensajes no reconocidos
en el almacenamiento persistente durante 7
días desde el momento de la publicación. No hay límite para la
cantidad de mensajes retenidos. Si los suscriptores no usan una suscripción, se vence. El período de vencimiento predeterminado es de 31 días. |
| Esquema | Tamaño del esquema (campo definition): 300 KBRevisiones por esquema: 20 |
| Solicitud de publicación |
10 MB (tamaño total) 1,000 mensajes |
| Mensaje |
Tamaño del mensaje (campo data): 10 MBAtributos por mensaje: 100 Tamaño de la clave del atributo: 256 bytes Tamaño del valor del atributo: 1,024 bytes |
| Transmisiones de StreamingPull | 10 MBps por transmisión abierta |
| Respuesta de extracción unaria |
Cantidad máxima de mensajes en la respuesta de extracción: 1,000 Tamaño máximo de la respuesta de extracción: 10 MB |
| Mensajes de Pull/StreamingPull | El servicio podría imponer límites en la cantidad total de mensajes de StreamingPull pendientes por conexión. Si alcanzas esos límites, aumenta la tasa a la que se reconocen los mensajes y la cantidad de conexiones que usas. |
| Solicitudes de Acknowledge y ModifyAckDeadline |
512 KB (tamaño total) |
| Claves de ordenamiento | Si los mensajes tienen claves de ordenamiento, la capacidad de procesamiento máxima del publicador es de 1 MBps por clave de ordenamiento. |
| Objetos de bucket de Cloud Storage | Cuando se usan temas de importación de Cloud Storage, el límite para la cantidad de objetos en un bucket es de 50 millones. |
Usa una cuenta de servicio para obtener cuotas más altas
Si usas la herramienta de Google Cloud CLI con una cuenta de usuario normal (es decir, una cuenta que no es de servicio), las operaciones de Pub/Sub se limitan a una tasa adecuada para operaciones manuales. Las tasas que superan este límite generan el RESOURCE_EXHAUSTED. La solución es asegurarte de estar usando las credenciales de una cuenta de servicio. Si deseas usar credenciales de gcloud CLI en la automatización, activa una cuenta de servicio para tus operaciones de Pub/Sub.
Usa extremos de ubicación para enrutar solicitudes
Si tienes una cuota adicional en regiones específicas, puedes enrutar las solicitudes a estas regiones con los extremos de ubicación de Pub/Sub. Cuando publicas mensajes en un extremo global, el servicio de Pub/Sub puede enrutar el tráfico a una región que no tiene una cuota suficiente.
En las regiones en las que se aprobaron las solicitudes de aumento de cuota, el cambio de tráfico entre los diferentes tipos de extremos podría provocar que no se tenga acceso inmediato a toda la capacidad otorgada.
Cuotas que no coinciden
Puede ocurrir que las cuotas no coincidan cuando los mensajes publicados o recibidos son de menos de 1,000 bytes. Por ejemplo:
Si publicas 10 mensajes de 500 bytes en solicitudes diferentes, el uso de cuota de tu publicador será de 10,000 bytes. Esto se debe a que los mensajes de menos de 1,000 bytes se redondean de forma automática al siguiente incremento de 1,000 bytes.
Si recibes esos 10 mensajes en una sola respuesta de extracción, tu uso de cuota de suscriptor podría ser de solo 5 KB, ya que se combina el tamaño real de cada mensaje para determinar la cuota general.
Lo opuesto también se cumple. El uso de la cuota de suscriptores podría superar el de la cuota de publicadores si publicas varios mensajes en una sola solicitud de publicación o recibes los mensajes en solicitudes de extracción diferentes.