Monitorar o uso de crédito com orçamentos¶
Budgets permite o monitoramento em nível de conta e a notificação do uso de crédito do Snowflake para um grupo de objetos específicos do Snowflake.
Visão geral de Budgets¶
Um orçamento define um limite mensal de gastos nos custos de computação para uma conta Snowflake ou um grupo personalizado de objetos Snowflake. Quando o limite de gastos é projetado para ser excedido, uma notificação é enviada. É possível configurar o orçamento para enviar essa notificação para uma lista de endereços de e-mail, uma fila fornecida por um serviço de nuvem (Amazon SNS, Azure Event Grid ou Google Cloud PubSub) ou um webhook para um sistema de terceiros (por exemplo, Slack, Microsoft Teams ou PagerDuty).
Orçamento de conta e orçamentos personalizados¶
O orçamento de conta monitora os gastos de todos os objetos compatíveis na conta.
É possível criar um orçamento personalizado para monitorar os limites de gastos de um grupo específico de objetos compatíveis.
Para ambos os tipos de orçamento, é necessário configurar o limite de gastos e especificar como deseja receber notificações.
Para começar a usar orçamentos no Snowflake, ative o orçamento da conta.
Limite de gastos e intervalo de tempo¶
O limite de gastos é expresso em créditos Snowflake e é usado apenas para fins de alertas e notificações. O limite de gastos é definido para o intervalo de tempo de um mês do calendário.
O intervalo de tempo começa às 12:00AM UTC do primeiro dia do mês e termina às 11:59PM UTC do último dia do mês. Se um orçamento for criado após o primeiro dia do mês, o primeiro intervalo de monitoramento será o período até o último dia do mês atual e será redefinido no primeiro dia do mês seguinte.
Se você ativar o orçamento da conta após o primeiro dia do mês, os dados a partir do início do mês serão preenchidos e usados para determinar se você excederá o limite de gastos do mês.
Se você criar um orçamento personalizado após o primeiro dia do mês, os dados históricos do mês não serão preenchidos. A previsão de gastos futuros é baseada no uso de crédito apenas nos dias após a ativação do orçamento.
Nota
Se você criar um orçamento personalizado após o primeiro dia do mês, poderá exceder o orçamento do primeiro mês. Em um mês parcial, o uso de crédito antes da criação do orçamento não é preenchido para orçamentos personalizados e pode resultar em previsões incorretas. Os meses subsequentes preverão corretamente o uso de crédito com base no histórico de gastos.
Objetos com suporte¶
Cada objeto na lista de objetos com suporte contribui para o limite de gastos do orçamento da conta. Para um orçamento personalizado, você pode selecionar um grupo de objetos específicos para monitorar. Ao adicionar um objeto a um orçamento personalizado, o orçamento monitora todos os custos de computação do objeto, incluindo operações de manutenção em segundo plano e recursos sem servidor. Por exemplo, se você adicionar uma tabela a um orçamento personalizado e a tabela tiver o clustering automático habilitado, o orçamento monitorará o uso de crédito para manutenção em segundo plano para clustering automático.
Um orçamento pode monitorar os seguintes objetos Snowflake:
Objeto |
Custos monitorados |
---|---|
Alertas |
Os alertas sem servidor são monitorados pelo orçamento da conta. Para monitorar o uso de crédito de um alerta executado por meio de um warehouse gerenciado pelo usuário, é necessário adicionar o warehouse ao orçamento. Para obter mais informações sobre os custos dos alertas, consulte Explicação dos custos dos alertas. |
Aplicativos . (Snowflake Native Apps) |
Ao adicionar um Snowflake Native App a um orçamento, todos os objetos que consomem créditos e são criados e pertencentes ao aplicativo são adicionados automaticamente ao orçamento. Isso inclui warehouses e pools de computação Snowpark Container Services que são de propriedade do aplicativo. Os warehouses e pools de computação compartilhados não são rastreados automaticamente pelo orçamento, embora você possa adicioná-los manualmente. Você não pode adicionar objetos criados e pertencentes a um aplicativo a um orçamento separado. É possível adicionar warehouses e pools de computação que estejam compartilhados com um orçamento separado. Para determinar se um warehouse ou pool de computação é de propriedade de um aplicativo, verifique o seguinte:
|
Pool de computação |
Uso do pool de computação para o Snowpark Container Services. Para obter mais informações, consulte Custo do pool de computação. |
Bancos de dados |
Quando você adiciona um banco de dados a um orçamento, todos os objetos compatíveis que o banco de dados contém também são adicionados automaticamente. O orçamento monitora o uso de crédito para os seguintes objetos e recursos sem servidor:
|
Exibições materializadas |
Manutenção em segundo plano para a exibição materializada. Para obter mais informações, consulte Custo de exibições materializadas. |
Esquemas |
Quando você adiciona um esquema a um orçamento, todos os objetos compatíveis que o esquema contém também são adicionados automaticamente. O orçamento monitora o uso de crédito para objetos de esquema, conforme descrito acima. |
Canais |
Consumo de recursos para carregar dados usando o Snowpipe. Para obter mais informações, consulte Custos do Snowpipe. |
Tabelas |
Operações de manutenção em segundo plano para clustering automático e otimização de pesquisa se estiverem habilitadas na tabela. |
Tarefas |
Tarefas sem servidor são monitoradas por um orçamento personalizado. Para monitorar o uso de crédito para uma tarefa executada usando um warehouse gerenciado pelo usuário, você deve adicionar o warehouse ao orçamento. Para obter mais informações, consulte Custos da tarefa. |
Warehouses |
Recursos de computação para execução de consulta, interface da Web e outros recursos (consulte Uso de crédito do warehouse virtual), tarefas sem servidor e computação de serviços de nuvem. |
Recursos sem servidor suportados¶
Budgets monitora o uso de crédito de recursos sem servidor para os objetos suportados contidos em um orçamento. A tabela a seguir lista os recursos sem servidor e o suporte a contas e orçamentos personalizados para monitorar o uso de crédito.
Nota
O suporte ao orçamento da conta para recursos sem servidor depende da disponibilidade dos tipos de serviço na exibição Account Usage Exibição METERING_HISTORY.
Recurso sem servidor |
Orçamento de conta |
Orçamento personalizado |
Objeto |
---|---|---|---|
AI_SERVICES |
✔ |
||
AUTO_CLUSTERING |
✔ |
✔ |
Tabela |
COPY_FILES |
✔ |
||
DATA_QUALITY_MONITORING |
✔ |
✔ |
Tabela |
HYBRID_TABLE_REQUESTS |
✔ |
||
MATERIALIZED_VIEW |
✔ |
✔ |
Exibição materializada |
PIPE |
✔ |
✔ |
Canal |
QUERY_ACCELERATION |
✔ |
||
QUERY_ACCELERATION_READER |
✔ |
||
REPLICATION |
✔ |
✔ |
Banco de dados |
SEARCH_OPTIMIZATION |
✔ |
✔ |
Tabela |
SERVERLESS_ALERTS |
✔ |
✔ |
Alerta |
SERVERLESS_TASK |
✔ |
✔ |
Tarefa |
SNOWPARK_CONTAINER_SERVICES |
✔ |
✔ |
Pool de computação |
SNOWPIPE_STREAMING |
✔ |
✔ |
Tabela |
WAREHOUSE_METERING |
✔ |
✔ |
Warehouse |
WAREHOUSE_METERING_READER |
✔ |
✔ |
Warehouse |
Notificações de Budgets¶
Um orçamento envia uma notificação de alerta diária quando os gastos atuais estão prestes a exceder o limite de gastos com base na previsão de série temporal. As notificações começam quando os gastos projetados estão mais de 10% acima do limite de gastos.
O exemplo a seguir é de uma notificação enviada por e-mail:

Nota
As notificações por e-mail são processadas por meio das implementações do Amazon Web Services (AWS) do Snowflake, usando o AWS Simple Email Service (SES). O conteúdo de uma mensagem de e-mail enviada usando AWS pode ser retido pela Snowflake por até trinta dias para gerenciar a entrega da mensagem. Após esse período, o conteúdo da mensagem é excluído.
Para receber notificações automáticas de alerta, é necessário fazer o seguinte, como parte da ativação do orçamento da conta e criação de um orçamento personalizado:
Definir um limite de gastos para o orçamento.
Especifique como deseja receber notificações sobre o orçamento.
Funções e privilégios do Budgets¶
Para habilitar uma função personalizada em sua conta para trabalhar com orçamentos, você pode conceder as seguintes funções e privilégios.
Funções de aplicativo para gerenciar o orçamento da conta¶
Você pode conceder as seguintes funções de aplicativo a uma função personalizada em sua conta para modificar ou gerenciar o orçamento da conta.
Função do aplicativo |
Descrição |
---|---|
BUDGET_VIEWER |
Permite que uma função visualize os dados de uso do orçamento e liste os recursos no orçamento. |
BUDGET_ADMIN |
Permite que uma função ative ou desative o orçamento da conta e modifique as propriedades de um orçamento, incluindo o limite de gastos, as integrações de notificação a serem usadas, a lista de endereços de e-mail para receber notificações e a configuração de notificações sem som. |
Além da função de aplicativo, há outros privilégios necessários que devem ser concedidos para habilitar uma função personalizada para monitorar ou gerenciar o orçamento da conta. Para obter mais informações, consulte Funções e privilégios necessários.
Funções de instância para gerenciar orçamentos personalizados¶
Cada orçamento personalizado possui funções de instância que você pode conceder a outras funções para visualizar ou modificar o orçamento:
Função de instância |
Descrição |
---|---|
VIEWER |
Permite que uma função visualize dados de uso do orçamento. |
ADMIN |
Permite que uma função modifique as propriedades de um orçamento, incluindo o limite de gastos, as integrações de notificação a serem usadas, a lista de endereços de e-mail para receber notificações, a configuração de notificações sem som e os objetos no grupo. |
Além da função de instância, há outros privilégios necessários que devem ser concedidos para permitir que uma função personalizada crie, monitore ou modifique um orçamento personalizado. Para obter mais informações, consulte Funções e privilégios necessários.
Funções e privilégios necessários¶
Além das funções de aplicativo ou instância, os seguintes privilégios devem ser concedidos a uma função personalizada para monitorar ou gerenciar orçamentos:
Privilégio ou função |
Tipo de orçamento |
Criar |
Gerenciar |
Monitorar |
Notas |
---|---|---|---|---|---|
USAGE_VIEWER |
Ambos |
✔ |
✔ |
✔ |
Conceda a função de banco de dados do Snowflake USAGE_VIEWER à função personalizada. |
USAGE |
Personalizado |
✔ |
✔ |
✔ |
Concede o privilégio USAGE no banco de dados que contém o orçamento personalizado. |
USAGE |
Personalizado |
✔ |
✔ |
✔ |
Concede o privilégio USAGE no esquema que contém o orçamento personalizado. |
SNOWFLAKE.BUDGET_CREATOR |
Personalizado |
✔ |
Concede esta função de banco de dados à função personalizada para permitir que ela crie orçamentos personalizados. |
||
CREATE SNOWFLAKE.CORE.BUDGET |
Personalizado |
✔ |
Concede este privilégio ao esquema com orçamento personalizado. |
||
APPLYBUDGET |
Personalizado |
✔ |
Deve ser concedido em cada objeto a ser adicionado ou removido de um orçamento personalizado. |
||
USAGE |
Personalizado |
✔ |
Para adicionar ou remover objetos de esquema de um orçamento personalizado, esse privilégio deve ser concedido no banco de dados e no esquema com o objeto. |
Consulte as seções a seguir para obter mais informações e exemplos.
Limitações¶
A seguir estão as limitações para Budgets:
As instâncias da classe BUDGET não podem ser replicadas para contas de destino.
Uma conta pode conter no máximo 100 orçamentos personalizados.
Atualmente, o Budgets não oferece suporte ao monitoramento de custos para Tabelas híbridas.
Os seguintes parâmetros de nível de conta devem ser desmarcados ou definidos com o valor padrão:
AUTOCOMMIT deve estar desativado ou definido como TRUE.
Se esse parâmetro for definido como FALSE, a ativação de um orçamento poderá falhar ou o uso poderá não ser rastreado corretamente.
TIMESTAMP_INPUT_FORMAT deve estar desativado ou definido como AUTO.
Se esse parâmetro não estiver definido como AUTO, o uso poderá não ser rastreado corretamente.
Antes de ativar os orçamentos, verifique os valores desses parâmetros executando o comando SHOW PARAMETERS:
SHOW PARAMETERS LIKE 'AUTOCOMMIT' IN ACCOUNT;
SHOW PARAMETERS LIKE 'TIMESTAMP_INPUT_FORMAT' IN ACCOUNT;
Nota
É necessário definir esses parâmetros no nível da conta. A configuração dos parâmetros em um nível inferior (por exemplo, no nível da sessão) não afeta a ativação de orçamentos ou o rastreamento do uso.