Credit-Nutzung mit Budgets überwachen¶
Das Feature „Budgets“ ermöglicht Überwachung und Benachrichtigung bezüglich des Verbrauchs von Snowflake-Credits auf Konto-Ebene für eine Gruppe bestimmter Snowflake-Objekte.
Übersicht zu Budgets¶
Ein Budget definiert ein monatliches Ausgabenlimit für die Computekosten für ein Snowflake-Konto oder eine kundenspezifische Gruppe von Snowflake-Objekten. Wenn das Ausgabenlimit voraussichtlich überschritten wird, erhalten Sie eine Benachrichtigung. Sie können das Budget so konfigurieren, dass diese Benachrichtigung an eine Liste von E-Mail-Adressen, eine von einem Clouddienst (Amazon SNS, Azure Event Grid oder Google Cloud PubSub) bereitgestellte Warteschlange oder einen Webhook für ein System eines Drittanbieters (z. B. Slack, Microsoft Teams oder PagerDuty) gesendet wird.
Kontobudget und kundenspezifische Budgets¶
Das Kontobudget überwacht die Ausgaben für alle unterstützten Objekte des Kontos.
Sie können auch ein benutzerdefiniertes Budget erstellen, um die Ausgabenlimits für eine bestimmte Gruppe von unterstützten Objekten zu überwachen.
Für beide Arten von Budgets müssen Sie ein Ausgabenlimit einrichten und festlegen, wie Sie Benachrichtigungen erhalten möchten.
Um mit der Verwendung von Budgets in Snowflake zu beginnen, aktivieren Sie das Kontobudget.
Ausgabenlimit und Zeitintervall¶
Das Ausgabenlimit wird in Snowflake-Credits ausgedrückt und dient nur zu Warn- und Benachrichtigungszwecken. Das Ausgabenlimit wird mit einem Zeitintervall von einem Kalendermonat festgelegt.
Das Zeitintervall beginnt um 12:00 Uhr UTC am ersten Tag des Monats und endet um 11:59 Uhr UTC am letzten Tag des Monats. Wenn ein Budget nach dem ersten Tag des Monats erstellt wird, ist das erste Überwachungsintervall der Zeitraum bis zum letzten Tag des aktuellen Monats und wird dann am ersten des folgenden Monats zurückgesetzt.
Wenn Sie Ihr Kontobudget nach dem Ersten des Monats aktivieren, werden die Daten vom Monatsanfang zurückgerechnet und verwendet, um festzustellen, ob Sie Ihre Ausgabenbeschränkung für den Monat überschreiten werden.
Wenn Sie nach dem Monatsersten ein kundenspezifisches Budget erstellen, werden die historischen Daten für den Monat nicht rückwirkend aufgefüllt. Die Prognosen für künftige Ausgaben basieren auf der Credit-Nutzung in den Tagen nach der Freigabe des Budgets.
Bemerkung
Wenn Sie ein kundenspezifisches Budget nach dem Ersten des Monats erstellen, kann es sein, dass Sie Ihr Budget im ersten Monat überschreiten. In einem Teilmonat wird die Credit-Nutzung vor der Budgeterstellung für kundenspezifische Budgets nicht aufgefüllt, was zu fehlerhaften Prognosen führen kann. In den Folgemonaten wird die Credit-Nutzung auf der Grundlage der Ausgabenhistorie korrekt prognostiziert.
Unterstützte Objekte¶
Jedes Objekt in der Liste der unterstützten Objekte trägt zum Ausgabenlimit für das Kontobudget bei. Bei einem kundenspezifischen Budget können Sie eine Gruppe spezifischer Objekte zur Überwachung auswählen. Wenn Sie ein Objekt zu einem benutzerdefinierten Budget hinzufügen, überwacht das Budget alle Computekosten für das Objekt, einschließlich der Wartungsoperationen im Hintergrund und der serverlosen Features. Wenn Sie z. B. eine Tabelle zu einem benutzerdefinierten Budget hinzufügen und die Tabelle automatisches Clustering aktiviert hat, überwacht das Budget die Credit-Nutzung der Hintergrundwartung für automatisches Clustering.
Ein Budget kann die folgenden Snowflake Objekte überwachen:
Objekt |
Überwachte Kosten |
---|---|
Alerts |
Serverlose Benachrichtigungen werden durch das Kontobudget überwacht. Um die Credit-Nutzung für eine Benachrichtigung zu überwachen, die über ein vom Benutzer verwaltetes Warehouse ausgeführt wird, müssen Sie das Warehouse zum Budget hinzufügen. Weitere Informationen zu den Kosten von Benachrichtigungen finden Sie unter Erläuterungen zu den Kosten von Alerts. |
Apps . (Snowflake Native Apps) |
Wenn Sie eine Snowflake Native App zu einem Budget hinzufügen, werden alle Objekte, die Credits verbrauchen und von der App erstellt werden und ihr gehören, automatisch dem Budget hinzugefügt. Dazu gehören Warehouses und Snowpark Container Services Computepools, die im Besitz der App sind. Gemeinsam genutzte Warehouses und Computepools werden nicht automatisch vom Budget erfasst, obwohl Sie diese manuell hinzufügen können. Sie können Objekte, die von einer App erstellt wurden und ihr gehören, nicht einem separaten Budget hinzufügen. Sie können Warehouses und Computepools, die gemeinsam genutzt werden, einem separaten Budget hinzufügen. Um festzustellen, ob ein Warehouse oder ein Computepool zu einer App gehört, überprüfen Sie Folgendes:
|
Computepool |
Nutzung des Computepools für Snowpark Container Services Weitere Informationen dazu finden Sie unter Computepool-Kosten. |
Datenbanken |
Wenn Sie eine Datenbank zu einem Budget hinzufügen, werden alle unterstützten Objekte, die die Datenbank enthält, ebenfalls automatisch hinzugefügt. Das Budget überwacht die Credit-Nutzung für die folgenden Objekte und serverlose Features:
|
Materialisierte Ansichten |
Hintergrundpflege für die materialisierte Ansicht. Weitere Informationen dazu finden Sie unter Kosten für materialisierte Ansichten. |
Schemas |
Wenn Sie ein Schema zu einem Budget hinzufügen, werden alle unterstützten Objekte, die das Schema enthält, ebenfalls automatisch hinzugefügt. Das Budget überwacht die Credit-Nutzung für Schemaobjekte wie oben beschrieben. |
Pipes |
Ressourcenverbrauch beim Laden von Daten mit Snowpipe. Weitere Informationen dazu finden Sie unter Kosten für Snowpipe. |
Tabellen |
Hintergrund-Wartungsoperation für Automatic Clustering und Suchoptimierung, wenn sie in der Tabelle aktiviert sind. |
Aufgaben |
Serverlose Aufgaben werden durch ein benutzerdefiniertes Budget überwacht. Um die Credit-Nutzung für eine Aufgabe zu überwachen, die über ein benutzerverwaltetes Warehouse ausgeführt wird, müssen Sie das Warehouse zum Budget hinzufügen. Weitere Informationen dazu finden Sie unter Kosten für Aufgaben. |
Warehouses |
Computeressourcen für die Ausführung von Abfragen, die Weboberfläche und andere Features (siehe Credit-Nutzung für virtuelle Warehouses), serverlose Aufgaben und Clouddienst-Computing. |
Unterstützte serverlose Features¶
Budgets überwachen die Credit-Nutzung der serverlosen Features für die in einem Budget enthaltenen unterstützten Objekte. In der folgenden Tabelle finden Sie eine Übersicht der serverlosen Features und der Unterstützung von Konten und benutzerdefinierten Budgets zur Überwachung der Credit-Nutzung.
Bemerkung
Die Unterstützung von Kontobudgets für serverlose Features hängt von der Verfügbarkeit von Diensttypen in der Account Usage-Ansicht Ansicht METERING_HISTORY ab.
Serverloses Feature |
Kontobudget |
Individuelles Budget |
Objekt |
---|---|---|---|
AI_SERVICES |
✔ |
||
AUTO_CLUSTERING |
✔ |
✔ |
Tabelle |
COPY_FILES |
✔ |
||
DATA_QUALITY_MONITORING |
✔ |
✔ |
Tabelle |
HYBRID_TABLE_REQUESTS |
✔ |
||
MATERIALIZED_VIEW |
✔ |
✔ |
Materialisierte Ansicht |
PIPE |
✔ |
✔ |
Pipe |
QUERY_ACCELERATION |
✔ |
||
QUERY_ACCELERATION_READER |
✔ |
||
REPLICATION |
✔ |
✔ |
Datenbank |
SEARCH_OPTIMIZATION |
✔ |
✔ |
Tabelle |
SERVERLESS_ALERTS |
✔ |
✔ |
Alert |
SERVERLESS_TASK |
✔ |
✔ |
Aufgabe |
SNOWPARK_CONTAINER_SERVICES |
✔ |
✔ |
Computepool |
SNOWPIPE_STREAMING |
✔ |
✔ |
Tabelle |
WAREHOUSE_METERING |
✔ |
✔ |
Warehouse |
WAREHOUSE_METERING_READER |
✔ |
✔ |
Warehouse |
Benachrichtigungen zu Budgets¶
Ein Budget sendet täglich eine Benachrichtigung, wenn bei dem aktuellen Verbrauch auf Basis von Zeitreihenprognosen ein Überschreiten des Ausgabenlimits droht. Benachrichtigungen beginnen, wenn die voraussichtlichen Ausgaben mehr als 10 % über der Ausgabenbeschränkung liegen.
Im Folgenden sehen Sie ein Beispiel für eine Benachrichtigung per E-Mail:

Bemerkung
E-Mail-Benachrichtigungen werden über die Amazon Web Services (AWS) von Snowflake verarbeitet, die AWS Simple Email Service (SES) verwenden. Der Inhalt einer mit AWS gesendeten E-Mail-Nachricht kann von Snowflake bis zu dreißig Tage lang aufbewahrt werden, um die Zustellung der Nachricht zu verwalten. Nach Ablauf dieser Frist wird der Inhalt der Nachricht gelöscht.
Um automatische Benachrichtigungen zu erhalten, müssen Sie Folgendes tun, im Rahmen der Aktivierung des Kontobudgets und Erstellung eines benutzerdefinierten Budgets:
Legen Sie ein Ausgabenlimit für das Budget fest.
Geben Sie an, wie Sie Benachrichtigungen über das Budget erhalten möchten.
Rollen und Berechtigungen für Budgets¶
Um eine benutzerdefinierte Rolle in Ihrem Konto für die Verwendung mit Budgets zu aktivieren, können Sie die folgenden Rollen und Berechtigungen vergeben.
Anwendungsrollen zum Verwalten des Kontobudgets¶
Sie können einer benutzerdefinierten Rolle in Ihrem Konto die folgenden Anwendungsrollen zuweisen, um das Kontobudget zu überwachen oder zu verwalten.
Anwendungsrolle |
Beschreibung |
---|---|
BUDGET_VIEWER |
Ermöglicht es einer Rolle, die Budgetverbrauchsdaten einzusehen und die Ressourcen im Budget aufzulisten. |
BUDGET_ADMIN |
Ermöglicht einer Rolle die Aktivierung oder Deaktivierung des Kontobudgets und die Änderung der Eigenschaften eines Budgets, einschließlich des Ausgabenlimits, der zu verwendenden Benachrichtigungsintegrationen, der Liste der E-Mail-Adressen, die Benachrichtigungen erhalten sollen, und der Einstellung für stumme Benachrichtigungen. |
Neben der Anwendungsrolle gibt es weitere erforderliche Berechtigungen, die erteilt werden müssen, damit eine benutzerdefinierte Rolle das Kontobudget überwachen oder verwalten kann. Weitere Informationen dazu finden Sie unter Erforderliche Rollen und Berechtigungen.
Instanzrollen zum Verwalten von kundenspezifischen Budgets¶
Jedes kundenspezifische Budget verfügt über Instanzrollen, die anderen Rollen zur Anzeige oder Änderung des Budgets zugewiesen werden können:
Instanzrolle |
Beschreibung |
---|---|
VIEWER |
Ermöglicht einer Rolle das Anzeigen von Budgetverbrauchsdaten. |
ADMIN |
Ermöglicht es einer Rolle, die Eigenschaften eines Budgets zu ändern, einschließlich des Ausgabenlimits, der zu verwendenden Benachrichtigungsintegrationen, der Liste der E-Mail-Adressen, die Benachrichtigungen erhalten sollen, der Einstellung für stumme Benachrichtigungen und der Objekte in der Gruppe. |
Neben der Instanzrolle gibt es weitere erforderliche Berechtigungen, die erteilt werden müssen, damit eine benutzerdefinierte Rolle ein benutzerdefiniertes Budget erstellen, überwachen oder ändern kann. Weitere Informationen dazu finden Sie unter Erforderliche Rollen und Berechtigungen.
Erforderliche Rollen und Berechtigungen¶
Zusätzlich zu den Anwendungs- oder Instanzrollen müssen einer benutzerdefinierten Rolle die folgenden Berechtigungen erteilt werden, um Budgets zu überwachen oder zu verwalten:
Berechtigung oder Rolle |
Budgettyp |
Erstellen |
Verwalten |
Überwachen |
Anmerkungen |
---|---|---|---|---|---|
USAGE_VIEWER |
Beide |
✔ |
✔ |
✔ |
Weisen Sie der kundenspezifischen Rolle die Snowflake Datenbankrolle USAGE_VIEWER zu. |
USAGE |
Kundenspezifisch |
✔ |
✔ |
✔ |
Berechtigung USAGE für die Datenbank erteilen, die das benutzerdefinierte Budget enthält. |
USAGE |
Kundenspezifisch |
✔ |
✔ |
✔ |
Berechtigung USAGE für das Schema erteilen, das das benutzerdefinierte Budget enthält. |
SNOWFLAKE.BUDGET_CREATOR |
Kundenspezifisch |
✔ |
Diese Datenbankrolle der benutzerdefinierten Rolle zuweisen, damit diese benutzerdefinierte Budgets erstellen kann. |
||
CREATE SNOWFLAKE.CORE.BUDGET |
Kundenspezifisch |
✔ |
Diese Berechtigung für das Schema zuweisen, das das benutzerdefinierte Budget enthalten wird. |
||
APPLYBUDGET |
Kundenspezifisch |
✔ |
Muss für jedes Objekt erteilt werden, das zu einem benutzerdefinierten Budget hinzugefügt oder daraus entfernt werden soll. |
||
USAGE |
Kundenspezifisch |
✔ |
Um Schemaobjekte aus einem benutzerdefinierten Budget hinzuzufügen oder zu entfernen, muss diese Berechtigung für die Datenbank und das Schema, das das Objekt enthält, erteilt werden. |
Weitere Informationen und Beispiele dazu finden Sie unter den folgenden Themen.
Einschränkungen¶
Im Folgenden sind die Einschränkungen für Budgets aufgeführt:
Instanzen der Klasse BUDGET können nicht in Zielkonten repliziert werden.
Ein Konto kann maximal 100 kundenspezifische Budgets enthalten.
Derzeit unterstützt Budgets keine Kostenüberwachung für Hybridtabellen.
Die folgenden Parameter auf Kontoebene müssen deaktiviert oder auf den Standardwert gesetzt werden:
AUTOCOMMIT muss deaktiviert oder auf TRUE gesetzt sein.
Wenn dieser Parameter auf FALSE gesetzt ist, kann die Aktivierung eines Budgets fehlschlagen oder die Nutzung wird nicht korrekt verfolgt.
TIMESTAMP_INPUT_FORMAT muss deaktiviert oder auf AUTO gesetzt sein.
Wenn dieser Parameter nicht auf AUTO gesetzt ist, wird die Nutzung möglicherweise nicht korrekt verfolgt.
Bevor Sie Budgets aktivieren, überprüfen Sie die Werte dieser Parameter, indem Sie den Befehl SHOW PARAMETERS ausführen:
SHOW PARAMETERS LIKE 'AUTOCOMMIT' IN ACCOUNT;
SHOW PARAMETERS LIKE 'TIMESTAMP_INPUT_FORMAT' IN ACCOUNT;
Bemerkung
Sie müssen diese Parameter auf Kontoebene einstellen. Die Einstellung der Parameter auf einer niedrigeren Ebene (z. B. auf Sitzungsebene) hat keine Auswirkungen auf die Aktivierung von Budgets oder die Verfolgung der Nutzung.