Benutzerdefinierte Budgets erstellen und aktivieren

Um das Budgets-Feature zu verwenden, aktivieren Sie das Kontobudget, und erstellen Sie kundenspezifische Budgets, um die Credit-Nutzung für eine Gruppe bestimmter Snowflake-Objekte zu überwachen.

Unter diesem Thema:

Aktivieren des Kontobudgets

Um Budgets zur Überwachung der Credit-Nutzung für Ihr Konto zu verwenden, aktivieren Sie das Kontobudget. Nach dem Aktivieren des Kontobudgets, können Sie das Ausgabenlimit für das Konto festlegen. Sie können E-Mail-Adressen angeben, die Benachrichtigungen erhalten sollen, wenn abzusehen ist, dass die Credit-Nutzung das Ausgabenlimit überschreitet. Benachrichtigungen beginnen, wenn die voraussichtlichen Ausgaben mehr als 10 % über der Ausgabenbeschränkung liegen.

Sie können das Kontobudget aktivieren, indem Sie Snowsight oder SQL verwenden.

Kundenspezifische Rolle zum Verwalten des Kontobudgets erstellen

Sie können eine kundenspezifische Rolle zum Aktivieren und Ändern des Kontobudgets erstellen. Ein Benutzer, der diese Rolle erhält, kann als Budgetadministrator agieren und die folgenden Aktionen für das Kontobudget ausführen:

  • Aktivieren und Deaktivieren des Kontobudgets

  • Festlegen des Ausgabenlimits

  • Bearbeiten der Benachrichtigungseinstellungen

  • Überwachen der Credit-Nutzung für das Konto

Eine vollständige Liste der Rollen und Berechtigungen, die für die Rolle des Budgetadministrators erforderlich sind, finden Sie unter Rollen und Berechtigungen für Budgets.

Erstellen Sie z. B. die Rolle account_budget_admin und erteilen Sie ihr Berechtigungen, das Kontobudget zu überwachen und zu verwalten:

USE ROLE ACCOUNTADMIN;

CREATE ROLE account_budget_admin;

GRANT APPLICATION ROLE SNOWFLAKE.BUDGET_ADMIN TO ROLE account_budget_admin;

GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE account_budget_admin;
Copy

Kontobudget mit Snowsight aktivieren und einrichten

Bemerkung

Nur ein Benutzer mit der Rolle ACCOUNTADMIN oder einer Rolle, der die Berechtigungen des Kontobudget-Admins erteilt wurden, kann das Kontobudget aktivieren und einrichten.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Cost Management aus.

  3. Wählen Sie Budgets aus.

  4. Wenn Sie bei Aufforderung ein Warehouse aus.

  5. Wählen Sie in der rechten oberen Ecke des Dashboards die Option Set up Account Budget aus.

  6. Geben Sie das Zielausgabenlimit für das Konto ein.

  7. Geben Sie die E-Mail-Adressen ein, die Benachrichtigungs-E-Mails erhalten sollen.

    Bemerkung

    Jede für Budgetbenachrichtigungen hinzugefügte E-Mail-Adresse muss verifiziert sein. Das Einrichten der Benachrichtigungs-E-Mail schlägt fehl, wenn eine E-Mail-Adresse in der Liste nicht verifiziert ist.

  8. Wählen Sie Finish Setup aus.

Kontobudget mit SQL aktivieren und einrichten

Bemerkung

Nur ein Benutzer mit der Rolle ACCOUNTADMIN oder einer Rolle, der die Berechtigungen des Kontobudget-Admins erteilt wurden, kann das Kontobudget aktivieren und einrichten.

  1. Aktivieren Sie das Kontobudget mit der Methode account_root_budget!ACTIVATE:

    CALL snowflake.local.account_root_budget!ACTIVATE();
    
    Copy
  2. Legen Sie das Ausgabenlimit mit der Methode <budget_name>!SET_SPENDING_LIMIT fest:

    CALL snowflake.local.account_root_budget!SET_SPENDING_LIMIT(1000);
    
    Copy
  3. Erstellen Sie einen Benachrichtigungsintegration mit den E-Mail-Adressen, die Budgetbenachrichtigungen erhalten sollen.

    Bemerkung

    Jede für Budgetbenachrichtigungen hinzugefügte E-Mail-Adresse muss verifiziert sein. Das Einrichten der Benachrichtigungs-E-Mail schlägt fehl, wenn eine E-Mail-Adresse in der Liste nicht verifiziert ist.

    Dieser Schritt ist optional. Wenn Sie eine bestehende Benachrichtigungsintegration mit verifizierten E-Mail-Adressen in der Zulassungsliste ALLOWED_RECIPIENTS haben, fahren Sie mit dem nächsten Schritt fort.

    CREATE NOTIFICATION INTEGRATION budgets_notification_integration
      TYPE=EMAIL
      ENABLED=TRUE
      ALLOWED_RECIPIENTS=('costadmin@example.com','budgetadmin@example.com');
    
    Copy

    Weitere Informationen zum Erstellen einer Benachrichtigungsintegration finden Sie unter Integration für E-Mail-Benachrichtigungen erstellen.

  4. SNOWFLAKE-Anwendung die USAGE-Berechtigung für die Benachrichtigungsintegration erteilen Die USAGE-Berechtigung ermöglicht es dem Budget, die Benachrichtigungsintegration zum Versenden von E-Mails zu nutzen:

    GRANT USAGE ON INTEGRATION budgets_notification_integration
      TO APPLICATION snowflake;
    
    Copy
  5. Legen Sie die E-Mail-Benachrichtigung für das Kontobudget mit der <budget_name>!SET_EMAIL_NOTIFICATIONS-Methode fest:

    CALL snowflake.local.account_root_budget!SET_EMAIL_NOTIFICATIONS(
       'budgets_notification_integration',
       'costadmin@example.com, budgetadmin@example.com');
    
    Copy

Nachdem Sie das Kontobudget aktiviert und eingerichtet haben, können Sie einem Benutzer, der kein Administrator ist, die Überwachung des Kontobudgets ermöglichen, indem Sie eine kundenspezifische Rolle verwenden. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen des Kontobudget erstellen.

Erstellen eines kundenspezifischen Budgets

Sie können ein kundenspezifisches Budget mit Snowsight oder SQL erstellen.

Kundenspezifische Rolle zum Erstellen von Budgets erstellen

Sie können eine kundenspezifische Rolle verwenden, um Budgets in Ihrem Konto zu erstellen. Eine vollständige Liste der Berechtigungen und Rollen, die einer Rolle zugewiesen werden müssen, um ein kundenspezifische Budget zu erstellen, finden Sie unter Rollen und Berechtigungen für Budgets.

Erstellen Sie z. B. eine Rolle budget_owner, und weisen Sie die erforderliche Rolle und die erforderlichen Berechtigungen zu, um kundenspezifische Budgets im Schema budgets_db.budgets_schema zu erstellen. Das folgende Beispiel muss mit der Rolle ACCOUNTADMIN ausgeführt werden:

USE ROLE ACCOUNTADMIN;
   
CREATE ROLE budget_owner;
  
GRANT USAGE ON DATABASE budgets_db TO ROLE budget_owner;
GRANT USAGE ON SCHEMA budgets_db.budgets_schema TO ROLE budget_owner;

GRANT DATABASE ROLE SNOWFLAKE.BUDGET_CREATOR TO ROLE budget_owner;

GRANT CREATE SNOWFLAKE.CORE.BUDGET ON SCHEMA budgets_db.budgets_schema
  TO ROLE budget_owner;
Copy

Wenn Sie einer anderen Rolle als dem Budget-Eigentümer die Möglichkeit geben möchten, die Einstellungen eines kundenspezifischen Budgets zu ändern, können Sie eine kundenspezifische Rolle mit Änderungsberechtigungen erstellen. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Verwalten eines kundenspezifischen Budgets erstellen.

Kundenspezifisches Budget mit Snowsight erstellen

Bemerkung

Wenn das Kontobudget nicht aktiviert ist oder deaktiviert wurde, können Sie Snowsight nicht verwenden, um kundenspezifische Budgets zu erstellen. Sie können jedoch kundenspezifische Budgets mit SQL erstellen.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Cost Management aus.

  3. Wählen Sie Budgets aus.

  4. Wählen Sie in der rechten oberen Ecke des Dashboards die Option Plus-Symbol (Budget hinzufügen) aus.

  5. Geben Sie einen Budget name ein.

  6. Wählen Sie die Datenbank und das Schema aus, in denen Sie Ihr Budget erstellen möchten.

  7. Geben Sie unter Spending limit das Ausgabenlimit ein.

  8. Geben Sie die E-Mail-Adressen ein, an die Benachrichtigungen gesendet werden sollen.

    Bemerkung

    Jede für Budgetbenachrichtigungen hinzugefügte E-Mail-Adresse muss verifiziert sein. Das Einrichten der Benachrichtigungs-E-Mail schlägt fehl, wenn eine E-Mail-Adresse in der Liste nicht verifiziert ist.

  9. Wählen Sie Resources to monitor aus.

    • Um eine Datenbank hinzuzufügen, erweitern Sie Databases, und wählen Sie dann die Datenbank aus.

    • Um Objekte eines Schemas hinzuzufügen, erweitern Sie das Schema, um die verfügbaren Objekte aufzulisten. Erweitern Sie die Objektkategorie (z. B. Tables oder Tasks), um Objekte auszuwählen.

    • Um ein Warehouse hinzuzufügen, erweitern Sie Warehouses, um ein Warehouse auszuwählen.

    • Um einen Computepool hinzuzufügen, erweitern Sie Compute Pools und wählen Sie einen Computepool aus.

    Bemerkung

    • Wenn Sie eine Datenbank oder ein Schema auswählen, werden alle unterstützten Objekte (z. B. Tabellen), die in der Datenbank oder dem Schema enthalten sind, ebenfalls zum Budget hinzugefügt.

    • Sie können ein Objekt nur zu einem kundenspezifischen Budget hinzufügen. Wenn ein Objekt bereits in einem kundenspezifischen Budget enthalten ist und Sie dieses Objekt einem zweiten kundenspezifischen Budget hinzufügen, wird das Objekt aus dem ersten kundenspezifischen Budget entfernt, ohne dass eine Warnung ausgegeben wird.

Nachdem Sie ein kundenspezifisches Budget erstellt und eingerichtet haben, können Sie eine kundenspezifische Rolle erstellen, die es Nicht-Kontoadministratoren ermöglicht, Budgetressourcen und -nutzung zu überwachen. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen.

Kundenspezifisches Budget mit SQL erstellen

Erstellen Sie ein kundenspezifisches Budget, und legen Sie dann das Ausgabenlimit und die E-Mail-Adressen für Benachrichtigungen fest.

Bemerkung

  1. Überprüfen Sie die vorhandenen Budgets in Ihrem Konto:

    Bemerkung

    Die folgende Anweisung gibt die Budgets zurück, für die Sie Zugriffsrechte haben. Nur ein Benutzer mit der Rolle ACCOUNTADMIN kann alle Budgets des Kontos sehen.

    SELECT SYSTEM$SHOW_BUDGETS_IN_ACCOUNT();
    
    Copy
  2. Erstellen Sie das Budget my_budget in budgets_db.budgets_schema mit dem Befehl CREATE BUDGET:

    USE SCHEMA budgets_db.budgets_schema;
    
    CREATE SNOWFLAKE.CORE.BUDGET my_budget();
    
    Copy
  3. Legen Sie das monatliche Ausgabenlimit fest. Setzen Sie das Ausgabenlimit auf 500 Credits pro Monat:

    CALL my_budget!SET_SPENDING_LIMIT(500);
    
    Copy
  4. Legen Sie die Benachrichtigungsintegration und die E-Mail-Adressen fest:

    Bemerkung

    • Wenn Sie noch keine E-Mail-Benachrichtigungsintegration erstellt haben, lesen Sie die Schritte im Kontobudget-Abschnitt, um eine solche Integration zu erstellen.

    • Um Benachrichtigungen zu senden, muss die SNOWFLAKE-Anwendung über die USAGE-Berechtigung für die Benachrichtigungsintegration verfügen:

      GRANT USAGE ON INTEGRATION budgets_notification_integration
        TO APPLICATION snowflake;
      
      Copy
    CALL my_budget!SET_EMAIL_NOTIFICATIONS('budgets_notification_integration',
                                           'costadmin@example.com');
    
    Copy

Nachdem Sie ein kundenspezifisches Budget erstellt und eingerichtet haben, können Sie eine kundenspezifische Rolle erstellen, die es Nicht-Kontoadministratoren ermöglicht, Budgetressourcen und -nutzung zu überwachen. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen.

Informationen zum Hinzufügen von Objekten zu Ihrem neuen Budget finden Sie unter Hinzufügen und Entfernen von Objekten aus einem kundenspezifischen Budget.

Kundenspezifische Rolle zum Verwalten eines kundenspezifischen Budgets erstellen

Um ein kundenspezifisches Budget zu überwachen und zu ändern, können Sie einer kundenspezifischen Rolle entsprechende Berechtigungen und Instanzrollen zuweisen. Eine vollständige Liste der Berechtigungen und Rollen, die einer Rolle zugewiesen werden müssen, um ein kundenspezifisches Budget ändern zu können, finden Sie unter Rollen und Berechtigungen für Budgets.

Beispiele

Erteilen Sie der kundenspezifischen Rolle budget_admin die Berechtigung, das Budget my_budget im Schema budgets_db.budgets_schema zu überwachen und zu ändern:

Bemerkung

Nur eine Rolle mit der Berechtigung OWNERSHIP für das kundenspezifische Budget kann die folgenden Beispiele ausführen.

  1. Weisen Sie zum Beispiel der kundenspezifischen Rolle budget_admin die erforderlichen Berechtigungen und die Instanzrolle für das Budget my_budget im Schema budgets_db.budgets_schema zu:

    GRANT USAGE ON DATABASE budgets_db TO ROLE budget_admin;
    
    GRANT USAGE ON SCHEMA budget_db.budgets_schema TO ROLE budget_admin;
    
    GRANT SNOWFLAKE.CORE.BUDGET ROLE budgets_db.budgets_schema.my_budget!ADMIN
      TO ROLE budget_admin;
    
    GRANT DATABASE ROLE SNOWFLAKE.USAGE_VIEWER TO ROLE budget_admin;
    
    Copy
  2. Erteilen Sie die Berechtigung APPLYBUDGET für Objekte, die einem kundenspezifischen Budget hinzugefügt oder daraus entfernt werden sollen. Dieser Schritt ist für jedes Objekt erforderlich, das hinzugefügt oder entfernt werden soll.

    Um beispielsweise die Rolle budget_admin zu aktivieren und damit die Datenbank db1 zum kundenspezifischen Budget my_budget hinzuzufügen, führen Sie die folgenden Anweisungen aus:

    GRANT USAGE ON DATABASE db1 TO ROLE budget_admin;
    
    GRANT APPLYBUDGET ON DATABASE db1 TO ROLE budget_admin;
    
    Copy

    Informationen zum Ändern der Objekte in einem kundenspezifischen Budget finden Sie unter Hinzufügen und Entfernen von Objekten aus einem kundenspezifischen Budget.

Hinzufügen und Entfernen von Objekten aus einem kundenspezifischen Budget

Sie können mit Snowsight oder SQL Objekte zu einem kundenspezifischen Budget hinzufügen oder daraus entfernen.

Bemerkung

Um Objekte aus einem kundenspezifischen Budget hinzuzufügen oder daraus zu entfernen, müssen Sie eine Rolle mit den erforderlichen Berechtigungen für das Budget und das Objekt verwenden. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Verwalten eines kundenspezifischen Budgets erstellen.

Objekte aus einem kundenspezifischen Budget mit Snowsight hinzufügen oder entfernen

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Cost Management aus.

  3. Wählen Sie Budgets aus.

  4. Wählen Sie das zu bearbeitende Budget aus.

  5. Wählen Sie in der rechten oberen Ecke des Dashboards die Option Bleistift-Symbol (Bearbeitungssymbol) aus.

  6. Wählen Sie + Resources aus.

    • Um eine Datenbank hinzuzufügen oder zu entfernen, erweitern Sie Databases, um eine Datenbank auszuwählen oder die Auswahl aufzuheben.

    • Um Objekte eines Schemas hinzuzufügen oder zu entfernen, erweitern Sie das Schema, um die verfügbaren Objekte aufzulisten. Erweitern Sie die Objektkategorie (z. B. Tables oder Tasks), um Objekte auszuwählen oder die Auswahl aufzuheben.

    • Um ein Warehouse hinzuzufügen oder zu entfernen, erweitern Sie Warehouses, um ein Warehouse auszuwählen oder die Auswahl aufzuheben.

    • Um einen Computepool hinzuzufügen oder zu entfernen, erweitern Sie Compute Pools, um einen Computepool auszuwählen oder die Auswahl aufzuheben.

    Bemerkung

    • Wenn Sie eine Datenbank oder ein Schema auswählen, werden alle unterstützten Objekte (z. B. Tabellen), die in der Datenbank oder dem Schema enthalten sind, ebenfalls zum Budget hinzugefügt.

    • Sie können ein Objekt nur zu einem kundenspezifischen Budget hinzufügen. Wenn ein Objekt bereits in einem kundenspezifischen Budget enthalten ist und Sie dieses Objekt einem zweiten kundenspezifischen Budget hinzufügen, wird das Objekt aus dem ersten kundenspezifischen Budget entfernt, ohne dass eine Warnung ausgegeben wird.

  7. Wählen Sie Done aus.

Objekte aus einem kundenspezifischen Budget mit SQL hinzufügen oder entfernen

Die Rolle, die zum Hinzufügen oder Entfernen eines Objekts aus einem Budget verwendet wird, muss über die Berechtigung APPLYBUDGET für das Objekt verfügen. Ein Beispiel dazu finden Sie im Abschnitt Kundenspezifische Rolle zum Verwalten eines kundenspezifischen Budgets erstellen.

Um die Liste der bereits im kundenspezifischen Budget enthaltenen Objekte zu überprüfen, rufen Sie die Methode <budget_name>!GET_LINKED_RESOURCES des Budgets auf. Um zum Beispiel die Liste der Objekte im Budget my_budget des Schemas budgets_db.budgets_schema anzuzeigen, führen Sie die folgende Anweisung aus:

CALL budgets_db.budgets_schema.my_budget!GET_LINKED_RESOURCES();
Copy

Die Anweisung gibt den folgenden Fehler zurück:

+-------------+-----------------+-----------+-------------+---------------+
| RESOURCE_ID | NAME            | DOMAIN    | SCHEMA_NAME | DATABASE_NAME |
|-------------+-----------------+-----------+-------------+---------------|
|         326 | DB1             | DATABASE  | NULL        | NULL          |
|         157 | MY_WH           | WAREHOUSE | NULL        | NULL          |
+-------------+-----------------+-----------+-------------+---------------+

Objekte müssen einem Budget per Referenz hinzugefügt oder daraus entfernt werden.

  1. Sie können die Tabelle t1 zum Budget my_budget hinzufügen, indem Sie die folgenden Schritte ausführen:

    1. Erteilen Sie der Rolle budget_admin die Berechtigung APPLYBUDGET für die Tabelle, indem Sie die folgende Anweisung ausführen:

      GRANT APPLYBUDGET ON TABLE t1 TO ROLE budget_admin;
      
      Copy
    2. Übergeben Sie eine Referenz auf die Tabelle t1 an die Instanzmethode ADD_RESOURCE, indem Sie die folgende Anweisung ausführen:

      CALL budgets_db.budgets_schema.my_budget!ADD_RESOURCE(
         SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'applybudget'));
      
      Copy

      Die SYSTEM$REFERENCE-Funktion erstellt eine Referenz auf ein TABLE-Objekt t1 mit der Berechtigung APPLYBUDGET für die Tabelle. Auf diese Weise kann das Budget das angegebene Objekt in Ihrem Konto überwachen. Der dritte Parameter der Funktion gibt den Geltungsbereich für die Referenz an, d. h. in diesem Fall wird mit ‚SESSION‘ eine Referenz erstellt, deren Geltungsbereich die Sitzung ist. Referenzen, die an die Methode ADD_RESOURCE für ein Budget übergeben werden, können mit einem beliebigen transienten Referenzbereich erstellt werden (d. h. der dritte Parameter kann entweder ‚SESSION‘ oder ‚CALL‘ sein).

      Eine vollständige Liste der Objekte und Berechtigungen finden Sie unter Unterstützte Objekttypen und Berechtigungen für Referenzen.

      Bemerkung

      Sie können ein Objekt nur zu einem kundenspezifischen Budget hinzufügen. Wenn ein Objekt bereits in einem kundenspezifischen Budget enthalten ist und Sie dieses Objekt einem zweiten kundenspezifischen Budget hinzufügen, wird das Objekt aus dem ersten kundenspezifischen Budget entfernt, ohne dass eine Warnung ausgegeben wird.

  2. Sie können die Datenbank db1 aus dem Budget my_budget entfernen, indem Sie die folgenden Schritte ausführen:

    1. Weisen Sie der Rolle budget_admin die Berechtigung APPLYBUDGET für die Datenbank zu, indem Sie die folgende Anweisung ausführen:

      GRANT APPLYBUDGET ON DATABASE db1 TO ROLE budget_admin;
      
      Copy
    2. Entfernen Sie die Datenbank, indem Sie eine Referenz an die Instanzmethode REMOVE_RESOURCE übergeben:

      CALL budgets_db.budgets_schema.my_budget!REMOVE_RESOURCE(
         SYSTEM$REFERENCE('DATABASE', 'db1', 'SESSION', 'applybudget'));
      
      Copy

Erstellen einer kundenspezifischen Rolle zum Überwachen von Budgets

Sie können die Budgetüberwachung delegieren, indem Sie eine kundenspezifische Rolle erstellen, die von Benutzern, die keine Administratoren sind, zur Überwachung von Budgets verwendet werden kann.

Kundenspezifische Rolle zum Überwachen des Kontobudget erstellen

Sie können eine kundenspezifische Rolle erstellen, die es Benutzern, die keine Kontoadministrator sind, ermöglicht, das Kontobudget zu überwachen. Eine vollständige Liste der Berechtigungen und Rollen, die einer Rolle zugewiesen werden müssen, um das Kontobudget zu überwachen, finden Sie unter Rollen und Berechtigungen für Budgets.

Beispiel

Bemerkung

Die Anweisungen in diesem Beispiel können nur von einem Kontoadministrator ausgeführt werden.

Erstellen Sie z. B. die Rolle account_budget_monitor, und weisen Sie der Rolle die Berechtigung zu, die Credit-Nutzung für das Kontobudget einzusehen:

USE ROLE ACCOUNTADMIN;

CREATE ROLE account_budget_monitor;
 
GRANT APPLICATION ROLE SNOWFLAKE.BUDGET_VIEWER TO ROLE account_budget_monitor;

GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE account_budget_monitor;
Copy

Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen

Sie können eine kundenspezifische Rolle erstellen, die es Benutzern, die keine Kontoadministrator sind, ermöglicht, kundenspezifische Budgets zu überwachen. Eine vollständige Liste der Berechtigungen und Rollen, die einer Rolle zum Überwachen eines kundenspezifischen Budgets zugewiesen werden müssen, finden Sie unter Rollen und Berechtigungen für Budgets.

Beispiel

Bemerkung

Die Anweisungen in diesem Beispiel können nur von einem Budgeteigentümer (eine Rolle mit der Berechtigung OWNERSHIP) ausgeführt werden.

Verwenden Sie die Budgeteigentümerrolle, um der kundenspezifischen Rolle budget_monitor die Berechtigung zuzuweisen, das Budget my_budget im Schema budgets_db.budgets_schema zu überwachen und zu ändern:

USE ROLE custom_budget_owner;

GRANT USAGE ON DATABASE budgets_db TO ROLE budget_monitor;

GRANT USAGE ON SCHEMA budget_db.budgets_schema TO ROLE budget_monitor;

GRANT SNOWFLAKE.CORE.BUDGET ROLE budgets_db.budgets_schema.my_budget!VIEWER
  TO ROLE budget_monitor;

GRANT DATABASE ROLE SNOWFLAKE.USAGE_VIEWER TO ROLE budget_monitor;
Copy

Überwachen der Budgets

Sie können Budgets mit Snowsight oder SQL überwachen.

Überwachen von Budgets mit Snowsight

Auf der Seite Budgets in Snowsight können Sie aktuelle und historische Budgetausgaben anzeigen.

Bemerkung

Nur ein Benutzer mit der Rolle ACCOUNTADMIN oder einer Rolle, die über die erforderlichen Berechtigungen und die entsprechende Rolle verfügt, kann Budgets mit Snowsight überwachen.

Auf der Seite Budgets in Snowsight können Sie aktuelle und historische Budgetausgaben anzeigen.

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Cost Management aus.

  3. Wählen Sie Budgets aus.

In der Ansicht Current Month für ein Budget können Sie die Credit-Nutzung pro Tag bis zum aktuellen Tag überprüfen. Sie können sehen, ob Sie Ihr Budget für den Monat möglicherweise überschreiten. Das Balkendiagramm wird bis zum Ende des Monats fortgesetzt und zeigt Ihre voraussichtliche Credit-Nutzung auf Grundlage Ihrer tatsächlichen Credit-Nutzung in diesem Monat. Die Spending limit-Linie gibt das Ausgabenlimit an, bei der eine Budgetbenachrichtigung ausgelöst wird.

Grafik zu den voraussichtlichen Ausgaben im Budget

Wählen Sie Uhr-Symbol (anzuzeigende Monate) aus, um die Ansicht nach Current Month (aktueller Monat) oder längeren Zeiträumen zu filtern.

Sie können Spend (aktuelle Credit-Nutzung) mit Interval (verbleibende Zeit im aktuellen Monat) vergleichen, um festzustellen, ob Ihre Ausgaben Ihr monatliches Budget übersteigen.

Sie können die Ansicht filtern, indem Sie Budgets-Symbol Budgets oder Ressourcen-Symbol Resources auswählen.

  • Sie können in der Ansicht Budgets ein kundenspezifisches Budget auswählen, um Details zu einem bestimmten Budget zu erhalten.

    Bemerkung

    Die Liste Service Type für ein kundenspezifisches Budget enthält den Typ Unused Resources. Dieser Diensttyp wird angezeigt, wenn für ein Objekt in einem Budget keine Daten zur Credit-Nutzung angezeigt werden können. Dies kann passieren, wenn das Objekt keine Credit-Nutzung für Computekosten hat oder wenn Sie ein Objekt erst kürzlich zu einem Budget hinzugefügt haben und die serverlose Hintergrundaufgabe noch nicht ausgeführt wurde.

  • In der Ansicht Resources können Sie nach Service Type (Diensttyp), Objekt Name und Credit Usage (Credit-Nutzung) filtern und sortieren.

Überwachen von Budgets mit SQL

Um das Kontobudget zu überwachen, müssen Sie über die erforderlichen Berechtigungen verfügen. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen des Kontobudget erstellen.

Verwenden Sie die Rolle account_budget_monitor, um den Ausgabenverlauf für das Kontobudget anzuzeigen:

USE ROLE account_budget_monitor;

CALL snowflake.local.account_root_budget!GET_SPENDING_HISTORY(
  TIME_LOWER_BOUND => DATEADD('days', -7, CURRENT_TIMESTAMP()),
  TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Copy

Sie können den Ausgabenverlauf nach Diensttyp überwachen. Um den Ausgabenverlauf des Kontobudgets der vergangenen Woche für das serverlose Suchoptimierungs-Feature anzuzeigen, führen Sie die folgenden Anweisungen aus:

USE ROLE account_budget_monitor;

CALL snowflake.local.account_root_budget!GET_SERVICE_TYPE_USAGE(
   SERVICE_TYPE => 'SEARCH_OPTIMIZATION',
   TIME_DEPART => 'day',
   USER_TIMEZONE => 'UTC',
   TIME_LOWER_BOUND => DATEADD('day', -7, CURRENT_TIMESTAMP()),
   TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Copy

Um ein kundenspezifisches Budget zu überwachen, müssen Sie über die erforderlichen Berechtigungen verfügen. Weitere Informationen dazu finden Sie unter Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen.

Verwenden Sie die Rolle budget_monitor, um den Ausgabenverlauf für ein kundenspezifisches Budget anzuzeigen. Um beispielsweise den Ausgabenverlauf für das kundenspezifische Budget na_finance_budget im Schema budgets_db.budgets_schema anzuzeigen, führen Sie die folgenden Anweisungen aus:

USE ROLE budget_monitor;

CALL budgets_db.budgets_schema.na_finance_budget!GET_SPENDING_HISTORY(
  TIME_LOWER_BOUND => DATEADD('days', -7, CURRENT_TIMESTAMP()),
  TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Copy

Sie können den Ausgabenverlauf nach Diensttyp überwachen. Um beispielsweise den Ausgabenverlauf für die im Budget enthaltenen materialisierten Ansichten anzuzeigen, führen Sie die folgenden Anweisungen aus:

USE ROLE budget_monitor;

CALL budgets_db.budgets_schema.na_finance_budget!GET_SERVICE_TYPE_USAGE(
   SERVICE_TYPE => 'MATERIALIZED_VIEW',
   TIME_DEPART => 'day',
   USER_TIMEZONE => 'UTC',
   TIME_LOWER_BOUND => DATEADD('day', -7, CURRENT_TIMESTAMP()),
   TIME_UPPER_BOUND => CURRENT_TIMESTAMP()
);
Copy

Weitere Informationen dazu finden Sie unter Budgetmethoden.

Deaktivieren des Kontobudgets

Sie können das Kontobudget mit Snowsight oder SQL deaktivieren.

Durch das Deaktivieren des Kontobudgets wird das Kontobudget auf den Zustand vor der Aktivierung zurückgesetzt:

  • Alle historischen Kontobudgetdaten werden gelöscht.

  • Die Aufgabe für Hintergrundmessungen für das Kontobudget wird angehalten.

  • Die Einstellungen des Kontobudgets für Ausgabenlimits und E-Mail-Benachrichtigungen werden zurückgesetzt.

Das Deaktivieren eines Kontobudget hat keine Auswirkungen auf kundenspezifische Budgets. Um ein kundenspezifisches Budget aus Ihrem Konto zu entfernen, verwenden Sie den Befehl DROP BUDGET.

Bemerkung

Wenn das Kontobudget deaktiviert ist, können Sie keine neuen kundenspezifischen Budgets mit Snowsight erstellen. Sie können jedoch weiterhin kundenspezifische Budgets mit SQL erstellen.

Kontobudget mit Snowsight deaktivieren

Sie können das Kontobudget über die Seite Budgets deaktivieren:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Cost Management aus.

  3. Wählen Sie Budgets aus.

  4. Wählen Sie oben rechts das „Mehr“-Menü aus.

  5. Wählen Sie Deactivate account budget aus.

Kontobudget mit SQL deaktivieren

Sie können die Methode account_root_budget!DEACTIVATE verwenden, um das Kontobudget zu deaktivieren:

CALL snowflake.local.account_root_budget!DEACTIVATE();
Copy