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

    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.