Criar cotas de consultas personalizadas

Neste documento, descrevemos como definir ou modificar cotas de consultas personalizadas para controlar custos. Para saber como os analistas do BigQuery podem estimar e controlar custos, consulte Estimar e 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 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 processados permite que você controle custos no nível do projeto ou no nível do usuário.

Para definir controles de custo personalizados, atualize uma ou ambas as cotas de consulta a seguir:

  • QueryUsagePerDay: as cotas personalizadas no nível do projeto limitam o uso agregado de todos os usuários nesse projeto.

  • QueryUsagePerUserPerDay: a cota personalizada no nível do usuário é aplicada separadamente a todos os usuários e contas de serviço em um projeto. Independente do limite por usuário, o uso total de todos os usuários no projeto nunca pode exceder o limite de uso de consultas por dia.

O limite padrão para a cota QueryUsagePerDay é de 200 tebibytes (TiB) de dados processados por projeto e por dia. O limite padrão para QueryUsagePerUserPerDay é ilimitado. Para verificar seus limites atuais, consulte a página "Cotas". Você pode mudar os limites a qualquer momento. As substituições personalizadas têm precedência sobre os limites padrão.

As cotas de uso de consultas se aplicam apenas ao modelo de preços de consultas sob demanda.

Para mais informações sobre as cotas do BigQuery que podem ser definidas, consulte Cotas e limites.

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.

Também é possível conseguir essa permissão com papéis personalizados ou outros papéis predefinidos.

Definir ou modificar cotas personalizadas

É possível definir uma cota personalizada ou modificar uma atual para qualquer cota exibida na página Cotas e limites do sistema do console do Google Cloud . Quando você solicita uma cota menor, a mudança 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 Solicitar um ajuste de cota.

Para definir ou atualizar um controle de custos personalizado, como limitar a quantidade de dados do BigQuery que podem ser processados por dia, faça o seguinte:

  1. No console do Google Cloud , abra a página IAM e administrador > Cotas e limites do sistema:

    Acesse Cotas e limites do sistema

  2. Use o filtro Serviço na caixa de pesquisa Filtro para filtrar a API BigQuery.

  3. Selecione as cotas que você quer ajustar. Por exemplo, para limitar a quantidade de dados que podem ser consultados por dia no nível do projeto e do usuário, selecione Uso de consultas por dia e Uso de consultas por dia por usuário. Talvez seja necessário rolar a lista para encontrá-los. Depois de selecionar uma cota, uma barra de ferramentas vai aparecer.

  4. Na barra de ferramentas, clique em Editar. A caixa de diálogo Mudanças de cota é aberta.

  5. Se Ilimitado estiver selecionado, desmarque essa opção.

  6. Insira o valor da cota em TiB que você quer no campo Novo valor.

  7. Clique em Concluído.

  8. Clique em Enviar solicitação.

Para mais informações sobre como ver e gerenciar cotas, consulte Visualizar e gerenciar cotas.

Mensagens de erro retornadas

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.

A seguir