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.
Vue d’ensemble de Budgets¶
Un budget définit une limite de dépenses mensuelles pour les coûts de calcul </user-guide/cost-understanding-compute> 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, une notification est envoyée. Vous pouvez configurer le budget pour qu’il envoie cette notification à une liste d’adresses e-mail, à une file d’attente fournie par un service Cloud (Amazon SNS, Azure Event Grid ou Google Cloud PubSub) ou à un webhook pour un système tiers (par exemple, Slack, Microsoft Teams ou PagerDuty).
Budget du compte et budgets personnalisés¶
Le budget du compte contrôle les dépenses pour tous les objets pris en charge par dans le compte.
Vous pouvez également créer un budget personnalisé pour surveiller les limites de dépenses d’un groupe spécifique d’objets pris en charge.
Pour les deux types de budgets, vous devez définir la limite de dépenses et spécifier comment vous souhaitez recevoir des notifications.
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 |
---|---|
Alertes |
Les alertes sans serveur sont surveillées par le budget du compte. Pour contrôler l’utilisation du crédit pour une alerte qui s’exécute à l’aide d’un entrepôt géré par l’utilisateur, vous devez ajouter l’entrepôt au budget. Pour de plus amples informations sur les coûts des alertes, voir Compréhension du coût des alertes. |
Apps . (Snowflake Native Apps) |
Lorsque vous ajoutez une Snowflake Native App à un budget, tous les objets qui consomment des crédits et qui sont créés et détenus par l’application sont automatiquement ajoutés au budget. Il s’agit notamment des entrepôts et des pools de calcul Snowpark Container Services qui appartiennent à l’app. Les entrepôts et les pools de calcul qui sont partagés ne sont pas suivis automatiquement par le budget, bien que vous puissiez les ajouter manuellement. Vous ne pouvez pas ajouter des objets créés et détenus par une application à un budget distinct. Vous pouvez ajouter les entrepôts et les pools de calcul qui sont partagés à un budget séparé. Pour déterminer si un entrepôt ou un pool de calcul appartient à une app, vérifiez les points suivants :
|
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 :
|
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. |
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. |
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. |
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 |
✔ |
||
DATA_QUALITY_MONITORING |
✔ |
✔ |
Table |
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_ALERTS |
✔ |
✔ |
Alerte |
SERVERLESS_TASK |
✔ |
✔ |
Tâche |
SNOWPARK_CONTAINER_SERVICES |
✔ |
✔ |
Pool de calcul |
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.
Voici un exemple de notification envoyée par e-mail :

Note
Les notifications par e-mail sont traitées par les déploiements de Snowflake sur Amazon Web Services (AWS), à l’aide de AWS Simple Email Service (SES). Le contenu d’un e-mail envoyé à l’aide d’AWS peut être conservé par Snowflake pendant un maximum de trente jours afin de gérer la livraison du message. Après cette période, le contenu du message est supprimé.
Pour recevoir des notifications d’alerte automatiques, vous devez effectuer les opérations suivantes, dans le cadre de l’activation du budget du compte et de la création d’un budget personnalisé :
Fixer une limite de dépenses pour le budget.
Indiquez comment recevoir des notifications concernant le budget.
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 du compte et de modifier les propriétés d’un budget, y compris la limite de dépenses, les intégrations de notification à utiliser, la liste des adresses e-mail destinataires des notifications et le paramètre de mise en sourdine des notifications. |
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, notamment la limite de dépenses, les intégrations de notification à utiliser, la liste des adresses e-mail devant recevoir des notifications, le paramètre de mise en sourdine des notifications 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.
Les paramètres de niveau compte suivants doivent être désactivés ou définis sur leur valeur par défaut :
AUTOCOMMIT doit être non défini ou défini sur TRUE.
Si ce paramètre est défini sur FALSE, l’activation d’un budget peut échouer ou l’utilisation peut ne pas être suivie correctement.
TIMESTAMP_INPUT_FORMAT doit être non défini ou défini sur AUTO.
Si ce paramètre n’est pas défini sur AUTO, l’utilisation peut ne pas être suivie correctement.
Avant d’activer les budgets, vérifiez les valeurs de ces paramètres en exécutant la commande SHOW PARAMETERS :
SHOW PARAMETERS LIKE 'AUTOCOMMIT' IN ACCOUNT;
SHOW PARAMETERS LIKE 'TIMESTAMP_INPUT_FORMAT' IN ACCOUNT;
Note
Ces paramètres doivent être définis au niveau du compte. La définition des paramètres à un niveau inférieur (par exemple, au niveau de la session) n’a pas d’effet sur l’activation des budgets ou le suivi de l’utilisation.