Neste documento, descrevemos como definir ou modificar cotas personalizadas para controlar custos.
Para saber como os analistas do BigQuery podem estimar e controlar custos, consulte Controlar custos.
Se você tem vários projetos e usuários do BigQuery, é possível gerenciar custos ao solicitar uma cota personalizada que especifique um limite na quantidade de dados de consulta processados por dia. As cotas diárias são zeradas à meia-noite do fuso horário do Pacífico.
Como a cota personalizada é proativa, não é possível executar uma consulta de 11 TB se você tiver uma cota de 10 TB. A criação de uma cota personalizada nos dados de consulta permite que você controle custos no nível do projeto ou no nível do usuário.
As cotas personalizadas no nível do projeto limitam o uso agregado de todos os usuários nesse projeto.
As cotas personalizadas no nível do usuário são aplicadas separadamente a todos os usuários e contas de serviço em um projeto.
Papel necessário
Para receber a permissão necessária para alterar sua cota,
peça ao administrador para conceder a você o
papel de Administrador de cotas (role/servicemanagement.quotaAdmin)
do IAM no seu projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém a
serviceusage.quotas.update
permissão,
que é necessária para
alterar sua cota.
É possível definir uma cota personalizada ou modificar uma atual para qualquer cota
exibida na página Cotas do Console do Google Cloud. Para mais informações, consulte Ver e gerenciar cotas. Quando você solicita uma cota menor, a alteração entra em vigor em alguns minutos. Se você solicitar uma cota maior, a solicitação passará por um processo de aprovação, que pode levar mais tempo.
Para mais informações, consulte
Como solicitar um limite de cota maior.
É possível ver seus níveis de cota personalizados na
página do
Console do Google Cloud.
Depois de definir uma cota personalizada, o BigQuery retorna um erro quando você excede essa cota:
Se você exceder uma cota personalizada no nível do projeto, o BigQuery retornará o erro usageQuotaExceeded:
Custom quota exceeded: Your usage exceeded the custom quota for
QueryUsagePerDay, which is set by your administrator. For more information,
see https://cloud.google.com/bigquery/cost-controls
Se o usuário exceder uma cota personalizada no nível do usuário, o BigQuery retornará um erro usageQuotaExceeded com uma mensagem de erro diferente:
Custom quota exceeded: Your usage exceeded the custom quota for
QueryUsagePerUserPerDay, which is set by your administrator. For more
information, see https://cloud.google.com/bigquery/cost-controls
Execute sua consulta a partir de outro projeto que tenha acesso aos conjuntos de dados e que não tenha uma cota personalizada ou que ainda não tenha sido excedida.
Exemplo
Suponha que você definiu as cotas personalizadas a seguir para um projeto com 10 usuários, sendo um deles uma conta de serviço:
No nível do projeto: 50 TB por dia
No nível do usuário: 10 TB por dia
As cotas personalizadas no nível do projeto limitam o uso agregado de todos os usuários nesse projeto. As cotas personalizadas no nível do usuário são aplicadas separadamente a cada usuário ou conta de serviço dentro de um projeto.
Veja na tabela a seguir a cota restante à medida que os 10 usuários realizam consultas ao longo do dia.
Uso
Cota restante
Cada um dos 10 usuários consulta 4 TB
No nível do projeto: 0 TB restante. No nível do usuário: 6 TB restantes por usuário, mas um total de até 10 TB somente.
A conta de serviço consulta outros 6 TB
No nível do projeto: 0 TB restante. No nível do usuário: a conta de serviço não tem mais permissão para usar o BigQuery. 6 TB restantes para os outros usuários, mas um total de até 4 TB.
Um usuário consulta outros 4 TB
No nível do projeto: 0 TB restante. No nível do usuário: vários TB restantes, mas ninguém pode usar o BigQuery porque a cota no nível do projeto foi excedida.
Sem cota restante, o funcionamento do BigQuery é interrompido para todos nesse projeto.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-12-22 UTC."],[[["\u003cp\u003eCustom query quotas in BigQuery allow you to manage costs by setting limits on the amount of data processed daily, either at the project level (\u003ccode\u003eQueryUsagePerDay\u003c/code\u003e) or at the user level (\u003ccode\u003eQueryUsagePerUserPerDay\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eProject-level quotas limit the aggregate usage of all users within a project, while user-level quotas apply separately to each user and service account.\u003c/p\u003e\n"],["\u003cp\u003eSetting a custom quota is proactive, meaning that exceeding the limit will halt queries and return an error, preventing further processing.\u003c/p\u003e\n"],["\u003cp\u003eTo modify quotas, users need the \u003ccode\u003eQuota Administrator\u003c/code\u003e IAM role, which includes the \u003ccode\u003eserviceusage.quotas.update\u003c/code\u003e permission.\u003c/p\u003e\n"],["\u003cp\u003eCustom quotas are approximate and are not intended as strict limits; they can be viewed and managed on the Google Cloud console's Quotas page.\u003c/p\u003e\n"]]],[],null,["# Create custom query quotas\n==========================\n\nThis document describes how to set or modify custom query quotas to control costs.\nTo learn how BigQuery analysts can estimate and control costs,\nsee [Estimate and control costs](/bigquery/docs/best-practices-costs).\n\nIf you have multiple BigQuery projects and users, you can\nmanage costs by requesting a custom quota that specifies a limit on the amount\nof data processed per day. Daily quotas are reset at midnight Pacific Time.\n\nCustom quota is proactive, so you can't run an 11 TB query\nif you have a 10 TB quota. Creating a custom quota on processed data lets you\ncontrol costs at the project level or at the user level.\n\nTo set custom cost controls, you can update one or both of the following\nquery quotas:\n\n- `QueryUsagePerDay`: Project-level custom quotas limit the aggregate usage of all users in that\n project.\n\n- `QueryUsagePerUserPerDay`: User-level custom quota is separately applied to all users and\n [service accounts](/docs/authentication#user_accounts_and_service_accounts)\n within a project.\n\n| **Note:** You can't assign a custom quota to an individual user or service account.\n| **Important:** Starting September 1, 2025, the default limit for the `QueryUsagePerDay` quota will change from unlimited to 200 Tebibytes (TiB) of data processed per project per day. The default limit for the `QueryUsagePerUserPerDay` is and will remain unlimited. You can [change the limits](#set-custom-quotas) anytime - custom overrides supersede the default limits.\n\nQuery usage quotas apply only to the\n[on-demand query pricing model](/bigquery/pricing#on_demand_pricing).\n\nFor more information about BigQuery quotas that you can set, see\n[Quotas and limits](/bigquery/quotas).\n\nRequired role\n-------------\n\n\nTo get the permission that\nyou need to change your quota,\n\nask your administrator to grant you the\n\n\nQuota Administrator (`role/servicemanagement.quotaAdmin`)\nIAM role on your project.\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nThis predefined role contains the\n` serviceusage.quotas.update`\npermission,\nwhich is required to\nchange your quota.\n\n\nYou might also be able to get\nthis permission\nwith [custom roles](/iam/docs/creating-custom-roles) or\nother [predefined roles](/iam/docs/roles-overview#predefined).\n\nSet or modify custom quotas\n---------------------------\n\nYou can set a custom quota or modify an existing custom quota for any quota\ndisplayed on the **Quotas \\& System Limits** page of the Google Cloud console. When\nyou request a lower quota, the change takes effect within a few minutes. If you\nrequest a higher quota, your request goes through an approval process, which can\ntake more time. For more information, see [Request a quota\nadjustment](/docs/quotas/help/request_increase).\n| **Note:** Custom quotas are approximate. The custom quotas feature provides an additional safeguard against excessive spending, but is not designed to strictly limit bytes processed. BigQuery might occasionally run a query that exceeds a quota. For greater price consistency, consider a [reservation](/bigquery/docs/reservations-intro).\n\nTo set or update a custom cost control, such as limiting the amount of\nBigQuery data that can be processed each day, do the following:\n\n1. In the Google Cloud console, open the\n **IAM \\& Admin** \\\u003e **Quotas \\& System Limits** page:\n\n [Go to Quotas \\& System Limits](https://console.cloud.google.com/iam-admin/quotas)\n2. Use the **Service** filter in the **Filter** search box to filter for the\n BigQuery API.\n\n3. Select the quotas that you want to adjust. For example, to limit the\n amount of data that be queried per day at both the project level and\n user level, select **Query usage per day** and **Query usage per day\n per user**. You might need to page through the list to find them. After\n you select a quota, a toolbar appears.\n\n4. In the toolbar, click edit **Edit** .\n The **Quota changes** dialog opens.\n\n5. If **Unlimited** is selected, deselect it.\n\n6. Enter the quota value in TiB that you want in the **New value** field.\n\n7. Click **Done**.\n\n8. Click **Submit request**.\n\nFor more information about viewing and managing quotas, see\n[View and manage quotas](/docs/quotas/view-manage).\n\nReturned error messages\n-----------------------\n\nAfter you set a custom quota, BigQuery returns an error when you\nexceed it:\n\n- If you exceed a project-level custom quota, BigQuery returns\n the [`usageQuotaExceeded`](/bigquery/troubleshooting-errors#quotaExceeded)\n error:\n\n ```\n Custom quota exceeded: Your usage exceeded the custom quota for\n QueryUsagePerDay, which is set by your administrator. For more information,\n see https://cloud.google.com/bigquery/cost-controls\n ```\n- If the user exceeds a user-level custom quota, BigQuery returns\n a [`usageQuotaExceeded`](/bigquery/troubleshooting-errors#quotaExceeded)\n error with a different error message:\n\n ```\n Custom quota exceeded: Your usage exceeded the custom quota for\n QueryUsagePerUserPerDay, which is set by your administrator. For more\n information, see https://cloud.google.com/bigquery/cost-controls\n ```\n\nYou can run your query from another project that has access to your datasets\nand that doesn't have a custom quota or hasn't yet exceeded it.\n\nExample\n-------\n\nSuppose you set the following custom quotas for a project with 10 users,\none of which is a service account:\n\n- Project level: 50 TB per day\n- User level: 10 TB per day\n\nProject-level custom quotas limit the aggregate usage of all users in that\nproject. User-level custom quotas are separately applied to each user or\n[service account](/docs/authentication#user_accounts_and_service_accounts)\nwithin a project.\n\nThe following table describes the remaining quota as the 10 users\nrun queries throughout the day.\n\nWith no remaining quota, BigQuery stops working for everyone in\nthat project.\n| **Note:** Custom quotas are **not** enabled by default. To set custom quotas, see [Set or modify custom quotas](#set-custom-quotas).\n\nWhat's next\n-----------\n\n- Learn about [BigQuery pricing](/bigquery/pricing).\n- Learn how to [estimate and control costs](/bigquery/docs/best-practices-costs).\n- Learn how to analyze [BigQuery audit logs](/bigquery/docs/introduction-audit-workloads) to monitor query costs and BigQuery usage.\n- To learn about billing, alerts, and visualizing data, see the following topics:\n\n - [Create, edit, or delete budgets and budget alerts](/billing/docs/how-to/budgets)\n - [Export Cloud Billing data to BigQuery](/billing/docs/how-to/export-data-bigquery)\n - [Visualize your costs with Looker Studio](/billing/docs/how-to/visualize-data)"]]