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;
    
    Copy
    SHOW PARAMETERS LIKE 'TIMESTAMP_INPUT_FORMAT' IN ACCOUNT;
    
    Copy
    SHOW PARAMETERS LIKE 'DATE_INPUT_FORMAT' IN ACCOUNT;
    
    Copy

    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.