Crie quotas de consultas personalizadas

Este documento descreve como definir ou modificar quotas de consultas personalizadas para controlar os custos. Para saber como os analistas do BigQuery podem estimar e controlar os custos, consulte o artigo Estime e controle os custos.

Se tiver vários projetos e utilizadores do BigQuery, pode gerir os custos pedindo uma quota personalizada que especifique um limite na quantidade de dados processados por dia. As quotas diárias são repostas à meia-noite (hora do Pacífico).

O limite de utilização personalizado é proativo, pelo que não pode executar uma consulta de 11 TB se tiver um limite de utilização de 10 TB. A criação de uma quota personalizada nos dados processados permite-lhe controlar os custos ao nível do projeto ou do utilizador.

Para definir controlos de custos personalizados, pode atualizar uma ou ambas as seguintes quotas de consultas:

  • QueryUsagePerDay: as quotas personalizadas ao nível do projeto limitam a utilização agregada de todos os utilizadores nesse projeto.

  • QueryUsagePerUserPerDay: A quota personalizada ao nível do utilizador é aplicada separadamente a todos os utilizadores e contas de serviço num projeto.

As quotas de utilização de consultas aplicam-se apenas ao modelo de preços de consultas a pedido.

Para mais informações acerca das quotas do BigQuery que pode definir, consulte o artigo Quotas e limites.

Função necessária

Para receber a autorização de que precisa para alterar a sua quota, peça ao seu administrador que lhe conceda a função do IAM Administrador de quotas (role/servicemanagement.quotaAdmin) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém a autorização serviceusage.quotas.update , que é necessária para alterar a sua quota.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

Defina ou modifique quotas personalizadas

Pode definir uma quota personalizada ou modificar uma quota personalizada existente para qualquer quota apresentada na página Quotas e limites do sistema da Google Cloud consola. Quando pede uma quota inferior, a alteração entra em vigor dentro de alguns minutos. Se pedir uma quota mais elevada, o seu pedido passa por um processo de aprovação que pode demorar mais tempo. Para mais informações, consulte o artigo Peça um ajuste da quota.

Para definir ou atualizar um controlo de custos personalizado, como limitar a quantidade de dados do BigQuery que podem ser processados todos os dias, faça o seguinte:

  1. Na Google Cloud consola, abra a página IAM e administração > Quotas e limites do sistema:

    Aceda a Quotas e limites do sistema

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

  3. Selecione as quotas que quer ajustar. Por exemplo, para limitar a quantidade de dados que podem ser consultados por dia ao nível do projeto e do utilizador, selecione Utilização de consultas por dia e Utilização de consultas por dia por utilizador. Pode ter de percorrer a lista para os encontrar. Depois de selecionar uma quota, é apresentada uma barra de ferramentas.

  4. Na barra de ferramentas, clique em Editar. É apresentada a caixa de diálogo Alterações de quota.

  5. Se a opção Ilimitado estiver selecionada, desmarque-a.

  6. Introduza o valor da quota em TiB que quer no campo Valor novo.

  7. Clique em Concluído.

  8. Clique em Enviar pedido.

Para mais informações sobre como ver e gerir quotas, consulte o artigo Veja e faça a gestão das quotas.

Mensagens de erro devolvidas

Depois de definir uma quota personalizada, o BigQuery devolve um erro quando a excede:

  • Se exceder uma quota personalizada ao nível do projeto, o BigQuery devolve 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 utilizador exceder uma quota personalizada ao nível do utilizador, o BigQuery devolve 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

Pode executar a consulta a partir de outro projeto que tenha acesso aos seus conjuntos de dados e que não tenha uma quota personalizada ou que ainda não a tenha excedido.

Exemplo

Suponhamos que define as seguintes quotas personalizadas para um projeto com 10 utilizadores, um dos quais é uma conta de serviço:

  • Nível do projeto: 50 TB por dia
  • Nível do utilizador: 10 TB por dia

As quotas personalizadas ao nível do projeto limitam a utilização agregada de todos os utilizadores nesse projeto. As quotas personalizadas ao nível do utilizador são aplicadas separadamente a cada utilizador ou conta de serviço num projeto.

A tabela seguinte descreve a quota restante à medida que os 10 utilizadores executam consultas ao longo do dia.

Utilização Quota restante
Cada um dos 10 utilizadores consulta 4 TBs Nível do projeto: restam 10 TB.
Nível do utilizador: permanecem 6 TBs por utilizador, mas apenas até um total de 10 TBs.
A conta de serviço consulta mais 6 TBs Nível do projeto: restam 4 TB.
Nível do utilizador: a conta de serviço já não pode usar o BigQuery. Os outros utilizadores continuam a ter 6 TBs por utilizador, mas apenas até um total de 4 TBs.
Um utilizador consulta mais 4 TB Nível do projeto: restam 0 TBs.
Nível do utilizador: permanecem vários TBs, mas ninguém pode usar o BigQuery porque a quota ao nível do projeto foi excedida.

Sem quota restante, o BigQuery deixa de funcionar para todos nesse projeto.

O que se segue?