Surveillance de l’utilisation du crédit à l’aide de Budgets

Budgets permet de surveiller et de notifier au niveau du compte l’utilisation du crédit Snowflake pour un groupe d’objets Snowflake spécifiques.

Dans ce chapitre :

Vue d’ensemble de Budgets

Un budget définit une limite de dépenses mensuelles pour les coûts de calcul d’un compte Snowflake ou d’un groupe personnalisé d’objets Snowflake. Lorsqu’il est prévu que la limite de dépenses soit dépassée, un courriel de notification quotidien est envoyé aux adresses e-mail désignées pour recevoir les notifications relatives aux budgets.

Budget du compte et budgets personnalisés

Le budget du compte surveille les dépenses pour tous les objets pris en charge dans le compte. Pour recevoir des notifications concernant le budget de compte, définissez la limite de dépenses et indiquez les adresses e-mail qui recevront les notifications.

Vous pouvez également créer un budget personnalisé pour surveiller les limites de dépenses pour un groupe spécifique d’objets pris en charge. Comme pour le budget du compte, vous devez définir la limite de dépenses et les adresses e-mail de notification afin de recevoir les courriels de notification.

Pour commencer à utiliser les budgets dans Snowflake, activez le budget du compte.

Limite de dépenses et intervalle de temps

La limite de dépenses est exprimée en crédits Snowflake et n’est utilisée qu’à des fins d’alerte et de notification. La limite de dépenses est fixée pour un intervalle de temps d’un mois civil.

L’intervalle de temps commence à 12:00AM UTC le premier jour du mois et se termine à 11:59PM UTC le dernier jour du mois. Si un budget est créé après le premier jour du mois, le premier intervalle de suivi correspond à la période allant jusqu’au dernier jour du mois en cours, puis il est réinitialisé le premier du mois suivant.

Si vous activez votre budget de compte après le premier jour du mois, les données du début du mois sont rétablies et utilisées pour déterminer si vous allez dépasser votre limite de dépenses pour le mois.

Si vous créez un budget personnalisé après le premier jour du mois, les données historiques du mois ne sont pas remplies. Les prévisions de dépenses futures sont basées sur l’utilisation du crédit dans les jours qui suivent l’activation du budget.

Note

Si vous créez un budget personnalisé après le premier jour du mois, vous risquez de dépasser votre budget pour le premier mois. Dans un mois partiel, l’utilisation du crédit avant la création du budget n’est pas compensée pour les budgets personnalisés et peut entraîner des prévisions incorrectes. Les mois suivants permettront de prévoir correctement l’utilisation du crédit sur la base de l’historique des dépenses.

Objets pris en charge

Chaque objet de la liste des objets pris en charge contribue à la limite de dépenses pour le budget du compte. Pour un budget personnalisé, vous pouvez sélectionner un groupe d’objets spécifiques à surveiller. Lorsque vous ajoutez un objet à un budget personnalisé, le budget surveille tous les coûts de calcul pour l’objet, y compris les opérations de maintenance en arrière-plan et les fonctions sans serveur. Par exemple, si vous ajoutez une table à un budget personnalisé et que la table a activé le clustering automatique, le budget surveille l’utilisation du crédit pour la maintenance en arrière-plan du clustering automatique.

Un budget peut surveiller les objets Snowflake suivants :

Objet

Coûts surveillés

Pool de calcul

Utilisation du pool de calcul pour Snowpark Container Services Pour plus d’informations, voir Calculer le coût du pool de calcul.

Bases de données

Lorsque vous ajoutez une base de données à un budget, tous les objets pris en charge que la base de données contient sont également ajoutés automatiquement. Le budget surveille l’utilisation du crédit pour les objets et les fonctions sans serveur suivants :

  • Objets de schéma pris en charge, tels que décrits ci-dessus.

  • Réplication pour les bases de données secondaires (répliques).

    Note

    Les coûts de réplication des bases de données secondaires qui sont répliquées dans un groupe de réplication ou de basculement ne peuvent être contrôlés que par le budget de compte.

Vues matérialisées

Maintenance en arrière-plan de la vue matérialisée. Pour plus d’informations, voir Coût des vues matérialisées.

Canaux

Consommation de ressources pour le chargement de données à l’aide de Snowpipe. Pour plus d’informations, voir Coûts Snowpipe.

Tables

Opérations de maintenance en arrière-plan pour le clustering automatique et l’optimisation de la recherche si elles sont activées sur la table.

Tâches

Les tâches sans serveur sont surveillées par un budget personnalisé. Pour surveiller l’utilisation du crédit pour une tâche qui s’exécute à l’aide d’un entrepôt géré par l’utilisateur, vous devez ajouter l’entrepôt au budget. Pour plus d’informations, voir Coûts des tâches.

Schémas

Lorsque vous ajoutez un schéma à un budget, tous les objets pris en charge que le schéma contient sont également ajoutés automatiquement. Le budget surveille l’utilisation du crédit pour les objets de schéma comme décrit ci-dessus.

Entrepôts virtuels

Ressources de calcul pour l’exécution de requêtes, l’interface Web et d’autres fonctions (voir Utilisation du crédit d’entrepôt virtuel), les tâches sans serveur et le calcul des services Cloud.

Fonctionnalités sans serveur prises en charge

La fonction Budgets surveille l’utilisation du crédit par des fonctionnalités sans serveur pour les objets pris en charge contenus dans un budget. Le tableau suivant répertorie les fonctions sans serveur et la prise en charge des comptes et des budgets personnalisés pour la surveillance de l’utilisation des crédits.

Note

La prise en charge du budget de compte pour les fonctions sans serveur dépend de la disponibilité des types de service dans la vue Account Usage Vue METERING_HISTORY.

Fonctionnalité sans serveur

Budget du compte

Budget personnalisé

Objet

AI_SERVICES

AUTO_CLUSTERING

Table

COPY_FILES

HYBRID_TABLE_REQUESTS

MATERIALIZED_VIEW

Vue matérialisée

PIPE

Canal

QUERY_ACCELERATION

QUERY_ACCELERATION_READER

REPLICATION

Base de données

SEARCH_OPTIMIZATION

Table

SERVERLESS_TASK

Tâche

SNOWPARK_CONTAINER_SERVICES

SNOWPIPE_STREAMING

Table

WAREHOUSE_METERING

Entrepôt

WAREHOUSE_METERING_READER

Entrepôt

Notifications Budgets

Un budget envoie une notification d’alerte quotidienne lorsque les dépenses courantes sont en passe de dépasser la limite de dépenses, sur la base de prévisions chronologiques. Les notifications commencent lorsque les dépenses prévues dépassent de plus de 10 % la limite de dépenses. Pour recevoir des notifications d’alerte automatiques, vous devez procéder comme suit :

  • Fixer une limite de dépenses pour le budget.

  • Mettre en place des notifications par courriel pour le budget.

Voici un exemple d’e-mail de notification :

Exemple d'e-mail de notification de budgets

Vous pouvez désactiver les notifications par e-mail pour un budget en appelant la méthode SET_NOTIFICATION_MUTE_FLAG.

Rôles et privilèges Budgets

Pour permettre à un rôle personnalisé de votre compte de travailler avec des budgets, vous pouvez lui accorder les rôles et privilèges suivants.

Rôles d’application pour gérer le budget du compte

Vous pouvez attribuer les rôles d’application suivants à un rôle personnalisé dans votre compte pour surveiller ou gérer le budget du compte :

Rôle de l’application

Description

BUDGET_VIEWER

Permet à un rôle de voir les données d’utilisation du budget et de dresser la liste des ressources dans le budget.

BUDGET_ADMIN

Permet à un rôle d’activer ou de désactiver le budget de compte et de modifier les propriétés d’un budget, y compris la limite de dépenses, la liste des adresses e-mail qui reçoivent des notifications et le paramètre de notification en sourdine.

Outre le rôle d’application, d’autres privilèges doivent être accordés pour permettre à un rôle personnalisé de surveiller ou de gérer le budget de compte. Pour plus d’informations, voir Rôles et privilèges requis.

Rôles d’instance pour gérer les budgets personnalisés

Chaque budget personnalisé a des rôles d’instance que vous pouvez accorder à d’autres rôles pour voir ou modifier le budget :

Rôle de l’instance

Description

VIEWER

Permet à un rôle de consulter les données relatives à l’utilisation du budget.

ADMIN

Permet à un rôle de modifier les propriétés d’un budget, y compris la limite de dépenses, la liste des adresses e-mail qui reçoivent des notifications, le réglage des notifications muettes et les objets du groupe.

Outre le rôle d’instance, d’autres privilèges doivent être accordés pour permettre à un rôle personnalisé de créer, surveiller ou modifier un budget personnalisé. Pour plus d’informations, voir Rôles et privilèges requis.

Rôles et privilèges requis

Outre les rôles d’application ou d’instance, les privilèges suivants doivent être accordés à un rôle personnalisé pour surveiller ou gérer les budgets :

Privilège ou rôle

Type de budget

Créer

Gérer

Moniteur

Remarques

USAGE_VIEWER

Les deux

Accordez le rôle de la base de données Snowflake USAGE_VIEWER au rôle personnalisé.

USAGE

Personnalisés

Attribuez le privilège USAGE sur la base de données qui contient le budget personnalisé.

USAGE

Personnalisés

Attribuez le privilège USAGE au schéma qui contient le budget personnalisé.

SNOWFLAKE.BUDGET_CREATOR

Personnalisés

Attribuez ce rôle de base de données au rôle personnalisé pour lui permettre de créer des budgets personnalisés.

CREATE SNOWFLAKE.CORE.BUDGET

Personnalisés

Attribuez ce privilège au schéma qui contiendra le budget personnalisé.

APPLYBUDGET

Personnalisés

Doit être attribué pour chaque objet à ajouter ou à retirer d’un budget personnalisé.

USAGE

Personnalisés

Pour ajouter ou supprimer des objets de schéma d’un budget personnalisé, ce privilège doit être accordé sur la base de données et le schéma qui contient l’objet.

Pour plus d’informations et d’exemples, consultez les sections suivantes :

Limitations

Les limitations suivantes s’appliquent à Budgets :

  • Les instances de la classe BUDGET ne peuvent pas être répliquées dans les comptes cibles.

  • Un compte peut contenir un maximum de 100 budgets personnalisés.

  • Actuellement, Budgets ne prend pas en charge les coûts de surveillance pour Tables hybrides.