Credit-Nutzung mit Budgets überwachen¶
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 die gesamte Credit-Nutzung 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 Ersten des Monats ein kundenspezifisches Budget erstellen, werden die historischen Daten für den Monat nur für Ressourcen rückwirkend aufgefüllt, die dem Budget mithilfe eines Tags hinzugefügt wurden. Daten von einzeln hinzugefügten Ressourcen werden nicht rückwirkend aufgefüllt.
Bemerkung
Wenn Sie ein kundenspezifisches Budget erstellen und dem Budget Ressourcen einzeln hinzufügen, anstatt ein Tag zu verwenden, müssen Sie Folgendes beachten:
Die Prognosen für künftige Ausgaben dieser Ressourcen basieren auf der Credit-Nutzung nur für die Tage nach der Aktivierung des Budgets.
Sie könnten das Budget im ersten Monat überschreiten. Da die Daten für die Ressourcen nicht rückwirkend aufgefüllt werden, kann die Prognose fehlerhaft sein. In den Folgemonaten wird die Credit-Nutzung auf der Grundlage der Ausgabenhistorie korrekt prognostiziert.
Unterstützte Dienste¶
Budgets überwachen die Credit-Nutzung für die folgenden Dienste. Verwenden Sie die Tabelle, um festzustellen, ob kundenspezifische Budgets den Dienst unterstützen und welches Objekt mit dem Dienst verbunden ist.
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.
Dienst |
Kontobudget |
Individuelles Budget |
Objekt |
---|---|---|---|
AI_SERVICES |
✔ |
||
AUTO_CLUSTERING |
✔ |
✔ |
Tabelle |
COPY_FILES |
✔ |
✔ |
Datenbank |
DATA_QUALITY_MONITORING |
✔ |
✔ |
Tabelle |
HYBRID_TABLE_REQUESTS |
✔ |
||
MATERIALIZED_VIEW |
✔ |
✔ |
Materialisierte Ansicht |
PIPE |
✔ |
✔ |
Pipe |
QUERY_ACCELERATION |
✔ |
✔ |
Warehouse |
REPLICATION |
✔ |
✔ |
Datenbank, Replikationsgruppe |
SEARCH_OPTIMIZATION |
✔ |
✔ |
Tabelle |
SERVERLESS_ALERTS |
✔ |
✔ |
Alert |
SERVERLESS_TASK |
✔ |
✔ |
Aufgabe |
SNOWPARK_CONTAINER_SERVICES |
✔ |
✔ |
Computepool |
SNOWPIPE_STREAMING |
✔ |
✔ |
Tabelle |
WAREHOUSE_METERING |
✔ |
✔ |
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.
Um automatische Benachrichtigungen zu erhalten, müssen Sie im Rahmen der Aktivierung des Kontobudgets oder Erstellung eines kundenspezifischen Budgets Folgendes tun:
Legen Sie ein Ausgabenlimit für das Budget fest.
Geben Sie an, wie Sie Benachrichtigungen über das Budget erhalten möchten.
Weitere Informationen dazu finden Sie unter Benachrichtigungen für Budgets.
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.
Bemerkung
Snowflake bietet Anwendungsrollen und Datenbankrollen, die den Zugriff auf alle kostenbezogenen Features, einschließlich Budgets, steuern. Informationen darüber, wie Sie diese Rollen einer kundenspezifischen Rolle zuweisen können, anstatt mit budgetspezifischen Rollen und Berechtigungen zu arbeiten, finden Sie unter Zugriffssteuerung für das Kostenmanagement.
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 und DATE_INPUT_FORMAT dürfen nicht festgelegt oder müssen auf AUTO festgelegt sein.
Wenn diese Parameter nicht auf AUTO festgelegt sind, 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;
SHOW PARAMETERS LIKE 'DATE_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.