Surveillance de l’utilisation du crédit à l’aide 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 surveille les dépenses pour toute utilisation du crédit sur 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 remplies que pour les ressources qui ont été ajoutées au budget à l’aide d’une balise. Les données des ressources ajoutées individuellement ne sont pas remplies.
Note
Si vous créez un budget personnalisé et que vous ajoutez individuellement des ressources au budget au lieu d’utiliser une balise, tenez compte de ce qui suit :
Les prévisions de dépenses futures de ces ressources sont basées sur l’utilisation de crédits uniquement pour les jours suivant l’activation du budget.
Vous risquez de dépasser votre budget pour le premier mois. Étant donné que les données des ressources ne sont pas remplies, les prévisions peuvent être incorrectes. Les mois suivants permettront de prévoir correctement l’utilisation du crédit sur la base de l’historique des dépenses.
Services pris en charge¶
Les budgets surveillent l’utilisation de crédits pour les services suivants : Utilisez le tableau pour déterminer si les budgets personnalisés prennent en charge le service et quel objet est associé à ce service.
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.
Service |
Budget du compte |
Budget personnalisé |
Objet |
---|---|---|---|
AI_SERVICES |
✔ |
||
AUTO_CLUSTERING |
✔ |
✔ |
Table |
COPY_FILES |
✔ |
✔ |
Base de données |
DATA_QUALITY_MONITORING |
✔ |
✔ |
Table |
HYBRID_TABLE_REQUESTS |
✔ |
||
MATERIALIZED_VIEW |
✔ |
✔ |
Vue matérialisée |
PIPE |
✔ |
✔ |
Canal |
QUERY_ACCELERATION |
✔ |
✔ |
Entrepôt |
REPLICATION |
✔ |
✔ |
Groupe de réplication de 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 |
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.
Pour recevoir des notifications d’alerte automatiques, vous devez effectuer les opérations suivantes, dans le cadre de l’activation du budget du compte ou 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.
Pour plus d’informations, voir Notifications pour les budgets.
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.
Note
Snowflake fournit des rôles d’application et des rôles de base de données qui contrôlent l’accès à toutes les fonctions liées aux coûts, y compris les budgets. Pour des informations sur l’attribution de ces rôles à un rôle personnalisé plutôt que d’utiliser des rôles et privilèges spécifiques au budget, voir Contrôle d’accès pour la gestion des coûts.
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 et DATE_INPUT_FORMAT doivent être non définis ou définis sur AUTO.
Si ces paramètres ne sont pas définis 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;
SHOW PARAMETERS LIKE 'DATE_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.