Tutorial: Introdução aos orçamentos¶
Introdução¶
Este tutorial apresenta o monitoramento do uso de crédito ao nível da conta com o Budgets, configurando o orçamento da conta e criando um orçamento personalizado que monitore um grupo de objetos especificados.
Com os orçamentos, você pode monitorar o uso de crédito para os custos de computação de objetos compatíveis, incluindo o uso de crédito para tarefas de manutenção em segundo plano e recursos sem servidor. Budgets permite que você defina um limite de gastos mensais para cada orçamento e envie um e-mail de notificação quando seus gastos atuais estiverem projetados para exceder o limite de gastos mensais.
Você pode concluir este tutorial usando uma planilha no Snowsight ou um cliente CLI como SnowSQL. Algumas partes deste tutorial podem ser concluídas usando o Snowsight.
Ao final deste tutorial, você aprenderá como fazer o seguinte:
Crie funções personalizadas para monitorar e gerenciar orçamentos.
Conceda os privilégios necessários para adicionar objetos a um orçamento personalizado.
Ative e configure um orçamento de conta.
Crie um orçamento personalizado e adicione objetos a ele.
Pré-requisitos¶
Para concluir este tutorial, os seguintes pré-requisitos são necessários:
Você deve ser capaz de usar a função ACCOUNTADMIN para criar as funções usadas neste tutorial.
Você deve verificar seu endereço de e-mail. Somente endereços de e-mail verificados podem ser adicionados a uma lista de notificação de orçamento.
Criação de uma integração de notificação¶
Budgets usa uma integração de notificação para enviar e-mails de notificação quando se espera que o uso de crédito atual exceda o limite de gastos mensais. A lista ALLOWED_RECIPIENTS
deve incluir os endereços de e-mail verificados dos usuários para receber notificações de orçamentos.
Uma integração de notificação é necessária se você estiver concluindo o tutorial usando SQL. Siga os passos abaixo para criar uma.
Ao usar o Snowsight para definir um orçamento, a integração de notificação é criada automaticamente para você. Se você irá usar o Snowsight para configurar seus orçamentos, você pode pular para a próxima etapa.
Execute a seguinte instrução para criar uma integração de notificação. Use seu endereço de e-mail verificado na lista ALLOWED_RECIPIENTS:
USE ROLE ACCOUNTADMIN; CREATE NOTIFICATION INTEGRATION budgets_notification_integration TYPE=EMAIL ENABLED=TRUE ALLOWED_RECIPIENTS=('<YOUR_EMAIL_ADDRESS>');
Após criar a integração de notificação, conceda o privilégio USAGE para o aplicativo SNOWFLAKE. Esse privilégio é necessário para que o Budgets use a integração de notificações para enviar e-mails.
Execute a seguinte instrução para conceder o privilégio USAGE na integração de notificação:
GRANT USAGE ON INTEGRATION budgets_notification_integration TO APPLICATION snowflake;
Criação de banco de dados, esquema e funções personalizadas.¶
Nesta etapa, os seguintes objetos são criados para o tutorial de criação, gerenciamento e monitoramento de orçamentos:
Um banco de dados e um esquema para criar orçamentos personalizados.
Uma função de aplicativo para gerenciar o orçamento da conta.
Uma função personalizada para monitorar o orçamento da conta.
Uma função personalizada para criar orçamentos personalizados.
Crie um banco de dados e um esquema para criar um orçamento personalizado usando as seguintes etapas:
Crie o banco de dados e o esquema nos quais será criado o orçamento personalizado:
USE ROLE ACCOUNTADMIN; CREATE DATABASE budgets_db; CREATE SCHEMA budgets_db.budgets_schema;
Crie o banco de dados e o esquema nos quais será criado o orçamento personalizado:
Faça login no Snowsight.
Mude para a função ACCOUNTADMIN.
Selecione Data » Databases » + Database.
No campo Name, insira
budgets_db
.Selecione Create.
Após a criação do banco de dados, selecione
budgets_db
.Selecione Schemas » + Schema.
No campo Name, insira
budgets_schema
.Selecione Create.
Crie uma função personalizada
account_budget_admin
para o administrador do orçamento da conta. O administrador do orçamento da conta pode realizar as seguintes ações no orçamento da conta:Ativar e desativar o orçamento da conta.
Definir o limite de gastos.
Editar as configurações de notificação.
Monitorar o uso de crédito da conta.
USE ROLE ACCOUNTADMIN; CREATE ROLE account_budget_admin; GRANT APPLICATION ROLE SNOWFLAKE.BUDGET_ADMIN TO ROLE account_budget_admin; GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE account_budget_admin;
Criar uma função personalizada
account_budget_monitor
a ser concedida aos monitores do orçamento de contas. Um monitor de orçamento de conta pode realizar as seguintes ações no orçamento da conta:Monitorar o uso de crédito da conta.
Visualizar as configurações de notificação por e-mail.
Visualizar o limite de gastos do orçamento da conta.
USE ROLE ACCOUNTADMIN; CREATE ROLE account_budget_monitor; GRANT APPLICATION ROLE SNOWFLAKE.BUDGET_VIEWER TO ROLE account_budget_monitor; GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE account_budget_monitor;
Criar uma função personalizada
budget_owner
com a função e os privilégios necessários para criar orçamentos personalizados no esquemabudgets_db.budgets_schema
:USE ROLE ACCOUNTADMIN; CREATE ROLE budget_owner; GRANT USAGE ON DATABASE budgets_db TO ROLE budget_owner; GRANT USAGE ON SCHEMA budgets_db.budgets_schema TO ROLE budget_owner; GRANT DATABASE ROLE SNOWFLAKE.BUDGET_CREATOR TO ROLE budget_owner; GRANT CREATE SNOWFLAKE.CORE.BUDGET ON SCHEMA budgets_db.budgets_schema TO ROLE budget_owner;
Cria duas funções personalizadas para gerenciar e monitorar orçamentos personalizados. Essas funções receberão privilégios adicionais posteriormente no tutorial, após a criação do orçamento personalizado. Para criar funções personalizadas, siga estas etapas:
Crie uma função
budget_admin
personalizada que possa gerenciar e monitorar um orçamento personalizado:USE ROLE ACCOUNTADMIN; CREATE ROLE budget_admin; GRANT USAGE ON DATABASE budgets_db TO ROLE budget_admin; GRANT USAGE ON SCHEMA budgets_db.budgets_schema TO ROLE budget_admin; GRANT DATABASE ROLE SNOWFLAKE.USAGE_VIEWER TO ROLE budget_admin;
Crie uma função
budget_monitor
personalizada que possa monitorar um orçamento personalizado:
USE ROLE ACCOUNTADMIN; CREATE ROLE budget_monitor; GRANT USAGE ON DATABASE budgets_db TO ROLE budget_monitor; GRANT USAGE ON SCHEMA budgets_db.budgets_schema TO ROLE budget_monitor; GRANT DATABASE ROLE SNOWFLAKE.USAGE_VIEWER TO ROLE budget_monitor;
Conceda a si mesmo as funções de orçamento personalizadas para usar em etapas futuras do tutorial:
Conceda a função
account_budget_admin
a si mesmo:GRANT ROLE account_budget_admin TO USER <YOUR_USER_NAME>;
Conceda a função
account_budget_monitor
a si mesmo:GRANT ROLE account_budget_monitor TO USER <YOUR_USER_NAME>;
Conceda a função
budget_owner
a si mesmo:GRANT ROLE budget_owner TO USER <YOUR_USER_NAME>;
Conceda a função
budget_monitor
a si mesmo:GRANT ROLE budget_monitor TO USER <YOUR_USER_NAME>;
Conceda funções de orçamento personalizadas a si mesmo:
Faça login no Snowsight.
Mude para a função ACCOUNTADMIN.
No menu de navegação, selecione Admin » Users & Roles e selecione Roles.
Selecione Table e localize e selecione a função
account_budget_admin
.Na seção 0 users have been granted ACCOUNT_BUDGET_ADMIN, selecione Grant to User.
Para User to receive grant, selecione seu nome de usuário para conceder a função.
Selecione Grant.
Após a função ser concedida, retorne à página anterior.
Selecione a função
account_budget_monitor
.Na seção 0 users have been granted ACCOUNT_BUDGET_MONITOR, selecione Grant to User.
Selecione Grant.
Repita os quatro passos anteriores (h–k) para conceder a si mesmo as seguintes funções adicionais:
budget_owner
budget_monitor
Nesta seção, você criou funções personalizadas para gerenciar e monitorar orçamentos, bem como criar orçamentos personalizados.
Criação dos objetos para o orçamento personalizado¶
Nesta etapa, crie objetos para adicionar a um orçamento personalizado e conceda privilégios às funções personalizadas criadas na etapa anterior. Você criará os seguintes objetos:
Um warehouse para adicionar a um orçamento personalizado.
Um banco de dados para adicionar a um orçamento personalizado.
Crie um warehouse e conceda os privilégios USAGE e APPLYBUDGET no warehouse para as funções personalizadas criadas. O privilégio APPLYBUDGET é necessário para adicionar um objeto a um orçamento.
Crie um warehouse
na_finance_wh
:CREATE WAREHOUSE na_finance_wh;
Conceda o privilégio USAGE às funções de orçamento personalizadas:
GRANT USAGE ON WAREHOUSE na_finance_wh TO ROLE account_budget_admin; GRANT USAGE ON WAREHOUSE na_finance_wh TO ROLE account_budget_monitor; GRANT USAGE ON WAREHOUSE na_finance_wh TO ROLE budget_admin; GRANT USAGE ON WAREHOUSE na_finance_wh TO ROLE budget_owner; GRANT USAGE ON WAREHOUSE na_finance_wh TO ROLE budget_monitor;
Conceda o privilégio APPLYBUDGET no warehouse à função
budget_owner
:GRANT APPLYBUDGET ON WAREHOUSE na_finance_wh TO ROLE budget_owner;
Crie um warehouse
na_finance_wh
:Faça login no Snowsight.
Selecione Admin » Warehouses » + Warehouse
No campo Warehouse Name, insira
na_finance_wh
.Selecione Create Warehouse.
Conceda o privilégio USAGE no warehouse às funções personalizadas
account_budge_admin
ebudget_admin
:Selecione Admin » Warehouses.
Selecione o warehouse que você acabou de criar
na_finance_wh
.No bloco Privileges, selecione + Privilege.
Para Role, selecione a função
account_budget_admin
.Para Privileges, selecione USAGE.
Selecione Grant Privileges.
Repita os 4 passos anteriores para a função
budget_admin
.
Conceda os privilégios USAGE e APPLYBUDGET no warehouse à função
budget_owner
:Selecione Admin » Warehouses.
Selecione o warehouse que você acabou de criar
na_finance_wh
.No bloco Privileges, selecione + Privilege.
Para Role, selecione a função
budget_owner
.Para Privileges, selecione APPLYBUDGET e USAGE.
Selecione Grant Privileges.
Crie um banco de dados e conceda o privilégio APPLYBUDGET no warehouse à função de proprietário de orçamento personalizado criada. O privilégio APPLYBUDGET é necessário para adicionar um objeto a um orçamento.
Crie um banco de dados:
CREATE DATABASE na_finance_db;
Conceda o privilégio APPLYBUDGET no banco de dados à função
budget_owner
:GRANT APPLYBUDGET ON DATABASE na_finance_db TO ROLE budget_owner;
Crie um banco de dados:
Faça login no Snowsight.
Selecione Data » Databases » + Database
No campo Name, insira
na_finance_db
.Selecione Create.
Conceda o privilégio APPLYBUDGET no banco de dados à função
budget_owner
:Selecione Data » Databases.
Selecione o banco de dados que você acabou de criar
na_finance_db
.No bloco Privileges, selecione + Privilege.
Para Role, selecione a função
budget_owner
.Para Privileges, selecione APPLYBUDGET.
Selecione Grant Privileges.
Nesta seção, você criou os objetos a serem adicionados a um orçamento personalizado e concedeu o privilégio APPLYBUDGET necessário para adicionar esses objetos a um orçamento. Você também criou o banco de dados e o esquema para criar o orçamento personalizado e concedeu o privilégio USAGE necessário para criar um orçamento no esquema. Agora você está pronto para ativar, criar e configurar orçamentos.
Ativação e configuração do orçamento da conta¶
O orçamento da conta monitora o uso de crédito para os custos de computação de todos os objetos compatíveis com o Budgets na conta, incluindo tarefas de manutenção em segundo plano (por exemplo, clustering automático) e recursos sem servidor. O orçamento da conta deve ser ativado antes que seja possível começar a monitorar o uso de crédito. Após a ativação, você pode definir o limite de gastos mensais para a conta e a lista de e-mails dos destinatários das notificações. Budgets envia um e-mail de notificação quando se espera que o uso atual de crédito exceda o limite de gastos mensal.
Ative e configure o orçamento da conta por meio das seguintes etapas:
Use a função
account_budget_admin
criada em uma etapa anterior para ativar o orçamento da conta:USE ROLE account_budget_admin; CALL snowflake.local.account_root_budget!ACTIVATE();
Defina o limite de gastos do orçamento da conta para 500 créditos por mês:
CALL snowflake.local.account_root_budget!SET_SPENDING_LIMIT(500);
Para configurar a lista de notificações por e-mail, use seu endereço de e-mail verificado e a integração de notificações criada anteriormente no tutorial:
CALL snowflake.local.account_root_budget!SET_EMAIL_NOTIFICATIONS( 'budgets_notification_integration', '<YOUR_EMAIL_ADDRESS>');
Ativação e configuração do orçamento da conta:
Faça login no Snowsight.
Selecione a função ACCOUNT_BUDGET_ADMIN criada em uma etapa anterior.
Selecione Admin » Cost Management.
Selecione Budgets.
Se solicitado, selecione
na_finance_wh
para o warehouse.No canto superior direito do painel, selecione Set up Account Budget.
Insira 500 para o limite de gastos da conta.
Para ajudar você a definir seu limite de gastos mensais, a ferramenta de configuração exibe seus gastos projetados para o mês e seus gastos mensais médios dos 3 meses anteriores. Por exemplo, consulte a captura de tela abaixo.
Insira seu endereço de e-mail para receber e-mails de notificação.
Selecione Finish Setup.
Nesta seção, você ativou o orçamento da conta e definiu o limite de gastos e o endereço de e-mail para receber notificações de orçamento.
Criação de um orçamento personalizado¶
Agora que você ativou e configurou o orçamento da sua conta, crie um orçamento personalizado para monitorar o uso de crédito em sua conta para um grupo específico de objetos. Para este tutorial, adicione o warehouse na_finance_wh
e na_finance_db
ao orçamento personalizado.
Crie orçamentos personalizados seguindo os seguintes passos:
Use a função
budget_owner
para criar orçamentona_finance_budget
embudgets_db.budgets_schema
:USE ROLE budget_owner; USE SCHEMA budgets_db.budgets_schema; USE WAREHOUSE na_finance_wh; CREATE SNOWFLAKE.CORE.BUDGET na_finance_budget();
Defina o limite de gastos mensais e a lista de notificações por e-mail para o orçamento
na_finance_budget
usando as seguintes etapas:Defina o limite de gastos mensais para 500 créditos:
CALL na_finance_budget!SET_SPENDING_LIMIT(500);
Para configurar a lista de notificações, use seu endereço de e-mail verificado e a integração de notificação criada na primeira etapa do tutorial:
CALL na_finance_budget!SET_EMAIL_NOTIFICATIONS('budgets_notification_integration', '<YOUR_EMAIL_ADDRESS>');
Adicione o banco de dados
na_finance_db
e o warehousena_finance_wh
ao orçamentona_finance_budget
:CALL na_finance_budget!ADD_RESOURCE( SYSTEM$REFERENCE('database', 'na_finance_db', 'SESSION', 'applybudget')); CALL na_finance_budget!ADD_RESOURCE( SYSTEM$REFERENCE('warehouse', 'na_finance_wh', 'SESSION', 'applybudget'));
Use a função
budget_owner
de definição de orçamentona_finance_budget
:Faça login no Snowsight.
Selecione a função BUDGET_OWNER criada em uma etapa anterior.
Selecione Admin » Cost Management.
Selecione Budgets.
Selecione o orçamento
na_finance_budget
.No canto superior direito do painel, selecione
(Editar orçamento).
Insira 500 para Spending limit.
Insira seu endereço de e-mail para receber e-mails de notificação.
Selecione Resources to monitor.
Nota
Você só pode adicionar um objeto a um orçamento personalizado. Se um objeto estiver atualmente incluído em um orçamento personalizado e você adicionar esse objeto a um segundo orçamento personalizado, o Budgets removerá o objeto do primeiro orçamento personalizado sem emitir um aviso.
Para adicionar um banco de dados, expanda Databases para selecionar um banco de dados. Selecione
na_finance_db
.Quando você seleciona um banco de dados, todos os objetos compatíveis com o Budgets que o banco de dados contém também são selecionados. Além disso, quaisquer objetos futuros criados no banco de dados são automaticamente adicionados ao orçamento.
Para adicionar um warehouse, expanda Warehouses e selecione um warehouse. Selecione
na_finance_wh
.
Selecione Save Changes.
O botão Save Changes é ativado somente quando todos os campos são preenchidos.
Conceda funções de instância às funções personalizadas criadas em uma etapa anterior.
Conceda as funções e privilégios necessários à função
budget_admin
para permitir que a funçãobudget_admin
modifique e monitore o orçamento personalizadona_finance_budget
:USE ROLE budget_owner; GRANT SNOWFLAKE.CORE.BUDGET ROLE budgets_db.budgets_schema.na_finance_budget!ADMIN TO ROLE budget_admin;
Conceda a função de instância VIEWER para a função
budget_monitor
para permitir que a funçãobudget_monitor
monitore o orçamento personalizadona_finance_budget
:USE ROLE budget_owner; GRANT SNOWFLAKE.CORE.BUDGET ROLE budgets_db.budgets_schema.na_finance_budget!VIEWER TO ROLE budget_monitor;
Nesta seção, você criou um orçamento personalizado, adicionou objetos para o orçamento monitorar e configurou o endereço de e-mail para receber notificações de orçamento.
Monitoramento do uso de crédito¶
Você concluiu todas as etapas do tutorial para ativar o orçamento da sua conta, criar um orçamento personalizado e criar funções personalizadas para monitorar e gerenciar os orçamentos da conta e orçamentos personalizados. Os dados de uso de crédito para seus orçamentos levam algum tempo para serem preenchidos.
Budgets usa tarefas sem servidor para coletar dados de uso de crédito para os orçamentos em sua conta. Depois de ativar o orçamento da conta ou criar um orçamento personalizado, leva algum tempo para a tarefa sem servidor ser executada. Depois que os dados de uso de crédito estiverem disponíveis, você poderá monitorar o uso de crédito para orçamentos usando o Snowsight.
Para monitorar o uso de crédito após a disponibilização dos dados de uso, siga estas etapas:
Use a função account_budget_monitor
criada em uma etapa anterior e visualize o histórico de gastos do orçamento da conta na semana passada executando as seguintes instruções:
USE ROLE account_budget_monitor;
CALL snowflake.local.account_root_budget!GET_SPENDING_HISTORY(
TIME_LOWER_BOUND => DATEADD('days', -7, CURRENT_TIMESTAMP()),
TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Você pode monitorar o histórico de gastos por tipo de serviço. Para visualizar o histórico de gastos de recurso sem servidor de otimização de pesquisa para o orçamento da conta na semana passada, execute a seguinte instrução:
USE ROLE account_budget_monitor;
CALL snowflake.local.account_root_budget!GET_SERVICE_TYPE_USAGE(
SERVICE_TYPE => 'SEARCH_OPTIMIZATION',
TIME_DEPART => 'day',
USER_TIMEZONE => 'UTC',
TIME_LOWER_BOUND => DATEADD('day', -7, CURRENT_TIMESTAMP()),
TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Use a função budget_monitor
para visualizar o histórico de gastos da semana passada para o orçamento personalizado na_finance_budget
:
USE ROLE budget_monitor;
CALL budgets_db.budgets_schema.na_finance_budget!GET_SPENDING_HISTORY(
TIME_LOWER_BOUND => DATEADD('days', -7, CURRENT_TIMESTAMP()),
TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Use a função account_budget_monitor
para visualizar o histórico de gastos do orçamento da conta:
Faça login no Snowsight.
Selecione a função ACCOUNT_BUDGET_MONITOR criada em uma etapa anterior.
Selecione Admin » Cost Management.
Selecione Budgets.
Se solicitado, selecione
na_finance_wh
.
Use a função budget_monitor
para visualizar o histórico de gastos para o orçamento personalizado na_finance_budget
:
Faça login no Snowsight.
Selecione a função BUDGET_MONITOR criada em uma etapa anterior.
Selecione Admin » Cost Management.
Selecione Budgets.
Se solicitado, selecione
na_finance_wh
.
Limpeza, resumo e recursos adicionais¶
Parabéns! Você concluiu com êxito este tutorial.
Depois que os dados de uso de crédito forem preenchidos para o orçamento da sua conta e orçamento personalizado, consulte Monitoramento de orçamentos usando o Snowsight.
Resumo e pontos principais¶
Em resumo, você aprendeu como:
Crie funções personalizadas para gerenciar e monitorar orçamentos.
As funções personalizadas permitem que administradores não pertencentes à conta monitorem o uso de crédito para um orçamento e modifiquem as configurações do orçamento. Para obter mais informações, consulte Funções e privilégios do Budgets.
Conceda os privilégios necessários para adicionar objetos a um orçamento personalizado.
O privilégio APPLYBUDGET deve ser concedido a um objeto para adicioná-lo ou removê-lo de um orçamento personalizado. Os objetos são adicionados ou removidos por referência. Para obter mais informações, consulte Como adicionar e remover objetos de um orçamento personalizado.
Ative e configure o orçamento da conta.
O orçamento da conta deve ser ativado e configurado para começar a monitorar o uso de crédito de sua conta. O orçamento da conta monitora os custos de computação, incluindo tarefas de manutenção em segundo plano e recursos sem servidor, e envia uma notificação por e-mail quando se espera que os gastos atuais excedam o limite de gastos mensais.
Para obter mais informações, consulte Ativação do orçamento da conta.
Crie um orçamento personalizado para monitorar um grupo específico de objetos em sua conta.
Os orçamentos personalizados monitoram o uso de crédito para um grupo de objetos em sua conta. Os orçamentos personalizados monitoram o uso de crédito para custos de computação dos objetos no grupo, incluindo tarefas de manutenção em segundo plano e recursos sem servidor.
Para obter mais informações, consulte Criação de um orçamento personalizado.
Para obter mais informações, consulte os seguintes tópicos:
Para obter uma lista de objetos compatíveis e os recursos sem servidor monitorados por orçamentos personalizados, consulte Objetos com suporte e Recursos sem servidor suportados.
Para obter mais informações sobre o monitoramento de gastos orçamentários, consulte Monitoramento de orçamentos usando o Snowsight.
Exclusão de objetos criados no tutorial¶
Você pode optar por manter as funções personalizadas e o orçamento personalizado criado no tutorial para monitorar o uso de crédito. Caso contrário, descarte o orçamento e as funções personalizadas relacionadas:
Para excluir o orçamento personalizado criado no tutorial, execute as seguintes instruções:
USE ROLE budget_owner;
DROP SNOWFLAKE.CORE.BUDGET budgets_db.budgets_schema.na_finance_budget;
Para excluir os objetos criados neste tutorial, execute as seguintes instruções:
USE ROLE ACCOUNTADMIN;
DROP DATABASE na_finance_db;
DROP WAREHOUSE na_finance_wh;
DROP DATABASE budgets_db;
Para excluir as funções personalizadas criadas para gerenciar e monitorar o orçamento personalizado, execute as seguintes instruções:
USE ROLE ACCOUNTADMIN;
DROP ROLE budget_monitor;
DROP ROLE budget_admin;
DROP ROLE budget_owner;
Snowflake recomenda deixar o orçamento da conta ativado. No entanto, se você decidir desativá-lo, consulte Desativação do orçamento da conta para mais informações e instruções.
Para excluir as funções de monitor e administrador de orçamento da conta, execute as seguintes instruções:
USE ROLE ACCOUNTADMIN;
DROP ROLE account_budget_monitor;
DROP ROLE account_budget_admin;
Para excluir a integração de notificação, execute as seguintes instruções:
USE ROLE ACCOUNTADMIN;
DROP NOTIFICATION INTEGRATION budgets_notification_integration;
Recursos adicionais¶
Continue aprendendo sobre orçamentos e o Snowflake com os seguintes recursos: