Como criar controles de custo personalizados

Se você tem vários projetos e usuários do BigQuery, é possível gerenciar os custos solicitando uma cota personalizada que especifica um limite na quantidade de dados de consulta processados por dia.

A criação de uma cota personalizada de dados da consulta permite controlar custos nos níveis do projeto ou do usuário.

  • As cotas personalizadas no nível do projeto limitam o uso agregado de todos os usuários daquele projeto.

  • As cotas personalizadas no nível do usuário são aplicadas separadamente a cada usuário ou conta de serviço 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 já existente, use a página Console do Google Cloud. As alterações de cota entram em vigor em poucos minutos.

Para mudar 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 Cloud IAM:

Como as cotas personalizadas são impostas

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

Se você exceder uma cota personalizada no nível do projeto, o BigQuery retornará o seguinte erro de 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 de 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:

  • Para envolvidos no: 50 TB por dia
  • No nível do usuário: 10 TB por dia

Na tabela a seguir, veja a cota restante à medida que esses 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: 10 TB restantes.
No nível do usuário: 6 TB restantes por usuário, mas somente até o total de 10 TB.
A conta de serviço consulta outros 6 TB No nível do projeto: 4 TB restantes.
No nível do usuário: a conta de serviço não pode mais usar o BigQuery. 6 TB restantes, por usuário, restam para os outros usuários, mas somente até o total de 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 no projeto em questão.

FAQs

Os clientes podem autoprovisionar cotas personalizadas?

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?

É possível executar uma consulta a partir de outro projeto que tenha acesso aos seus conjuntos de dados e que não tenha uma cota personalizada, ou não a tenha excedido.

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 sua cota for de 10 TB.