Como criar controles de custo personalizados

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.

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 cada usuário ou conta de serviço dentro de um projeto.

Para saber os preços atuais da consulta sob demanda, consulte a página de preços.

Como definir ou modificar cotas personalizadas

Para definir uma cota personalizada ou modificar uma cota personalizada existente, use a página Cotas no Console do Google Cloud. As alterações de cota entram em vigor em poucos minutos. Para informações sobre o uso da página "Cotas", consulte Como gerenciar sua cota no Cloud Console.

Para alterar suas cotas, você precisa ter permissões serviceusage.quotas.update. As permissões serviceusage.quotas.update estão incluídas nos seguintes papéis predefinidos do IAM:

Como as cotas personalizadas são aplicadas

Depois de definir uma cota personalizada, o BigQuery retorna um erro quando você a excede.

Se você exceder uma cota personalizada para envolvidos no projeto, o BigQuery retornará o seguinte 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 um 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

O uso do filtro _PARTITIONTIME ou _TABLE_SUFFIX na consulta pode gerar um erro quotaExceeded inesperado. Atualmente, quando o BigQuery verifica se a consulta excederia a cota personalizada, ele ignora qualquer filtro _PARTITIONTIME ou _TABLE_SUFFIX na consulta.

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 Para envolvidos no projeto: 10 TB restantes.
No nível do usuário: 6 TB restantes por usuário, mas somente até um total de 10 TB.
A conta de serviço consulta outros 6 TB Para envolvidos no projeto: 4 TB restantes.
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 Para envolvidos no projeto: 0 TB restante.
No nível do usuário: vários TB restantes, mas ninguém pode usar o BigQuery porque a cota para envolvidos no projeto foi excedida.

Sem cota restante, o funcionamento do BigQuery é interrompido para todos nesse projeto.

Perguntas frequentes

Os clientes podem provisionar cotas personalizadas para si mesmos?

Sim, as cotas podem ser autoprovisionadas na página Console do Google Cloud.

Como sei quais são os níveis da minha cota personalizada?

Os níveis de cota podem ser visualizados na página Console do Google Cloud.

Quando minha cota personalizada é restaurada?

As cotas diárias são redefinidas à meia-noite do horário do Pacífico.

E se eu exceder minha cota personalizada e quiser redefini-la?

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.

A cota personalizada é proativa ou reativa? Em outras palavras, posso executar uma consulta de 11 TB se eu tiver uma cota de 10 TB?

Como a cota personalizada é proativa, não será possível executar uma consulta de 11 TB se você tiver uma cota de 10 TB.