Aktivieren Sie das Budget Ihres Kontos, oder erstellen Sie eigene Budgets

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.

Sie können ein Budget so konfigurieren, dass Sie per E-Mail, über eine Warteschlange eines Cloudanbieters oder über einen Webhook benachrichtigt werden, wenn die Credit-Nutzung das Ausgabenlimit voraussichtlich überschreitet.

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.

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 Budget des Kontos aktivieren, indem Sie Snowsight verwenden oder indem Sie SQL-Anweisungen ausführen.

In den nächsten Abschnitten erfahren Sie, wie Sie das Budget für das Konto aktivieren:

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.

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.

Das folgende Beispiel erstellt eine Rolle mit dem Namen account_budget_admin und gewährt der Rolle die Möglichkeit, das Budget des Kontos 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

Verwenden Sie Snowsight, um das Budget für das Konto zu aktivieren

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.

Verwenden Sie die SQL-Befehle, um das Budget für das Konto zu aktivieren

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 Budget des Kontos, indem Sie die Methode account_root_budget!ACTIVATE für das Objekt SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET aufrufen:

    CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!ACTIVATE();
    
    Copy
  2. Legen Sie das Ausgabenlimit fest, indem Sie die Methode <budget_name>!SET_SPENDING_LIMIT aufrufen:

    CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!SET_SPENDING_LIMIT(1000);
    
    Copy
  3. Richten Sie Benachrichtigungen für das Budget ein, damit Sie benachrichtigt werden, wenn Ihre Credit-Nutzung voraussichtlich Ihr Ausgabenlimit überschreitet.

    Siehe Arbeiten mit Benachrichtigungen für ein Budget.

Erstellen eines kundenspezifischen Budgets

Sie können ein benutzerdefiniertes Budget mithilfe von Snowsight oder durch die Ausführung von SQL-Anweisungen erstellen.

In den nächsten Abschnitten erfahren Sie, wie Sie ein individuelles Budget 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.

Das folgende Beispiel erstellt eine Rolle mit dem Namen budget_owner-Rolle und gewährt die erforderliche Rolle und Berechtigung, um benutzerdefinierte Budgets im Schema budgets_db.budgets_schema zu erstellen. Das 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.

Verwenden Sie Snowsight, um ein individuelles Budget zu 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.

Verwenden Sie SQL-Befehle, um ein benutzerdefiniertes Budget zu 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. Richten Sie Benachrichtigungen für das Budget ein, damit Sie benachrichtigt werden, wenn Ihre Credit-Nutzung voraussichtlich Ihr Ausgabenlimit überschreitet.

    Siehe Arbeiten mit Benachrichtigungen für ein Budget.

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.

Arbeiten mit Benachrichtigungen für ein Budget

Um Benachrichtigungen zu erhalten, wenn Ihre Credit-Nutzung voraussichtlich Ihr Ausgabenlimit überschreitet, müssen Sie das Budget so einrichten, dass Benachrichtigungen an das von Ihnen gewählte Ziel gesendet werden können. Sie können Benachrichtigungen wie folgt erhalten:

  • E-Mail

  • Meldungen, die an eine von einem Cloud-Dienst (Amazon SNS, Azure Event Grid oder Google Cloud PubSub) bereitgestellte Warteschlange gesendet werden.

  • Ruft einen Webhook für Slack, Microsoft Teams oder PagerDuty auf.

In den nächsten Abschnitten erfahren Sie, wie Sie Benachrichtigungen einrichten und die Benachrichtigungsmeldungen interpretieren:

E-Mail-Benachrichtigung einrichten

So richten Sie eine E-Mail-Benachrichtigung ein:

  1. (Optional) Wenn Sie Ihre eigene Benachrichtigungsintegration verwenden möchten, erstellen Sie eine Benachrichtigungsintegration oder wählen Sie eine vorhandene Benachrichtigungsintegration, die Sie verwenden möchten. Eine Benachrichtigungsintegration ermöglicht es Snowflake, Benachrichtigungen an ein Drittsystem zu senden.

    1. Erstellen Sie eine Benachrichtigungsintegration mit TYPE = EMAIL und ALLOWED_RECIPIENTS, die auf die Liste der verifizierten E-Mail-Adressen der Empfänger eingestellt ist. Informationen finden Sie unter Integration für E-Mail-Benachrichtigungen erstellen und Schränken Sie die Liste der E-Mail-Adressen ein, die Benachrichtigungen erhalten können.

      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.

      Beispiel:

      CREATE NOTIFICATION INTEGRATION budgets_notification_integration
        TYPE = EMAIL
        ENABLED = TRUE
        ALLOWED_RECIPIENTS = ('costadmin@example.com','budgetadmin@example.com');
      
      Copy
    2. Überprüfen Sie, ob die Benachrichtigungsintegration wie erwartet funktioniert, indem Sie die gespeicherte Prozedur SYSTEM$SEND_SNOWFLAKE_NOTIFICATION aufrufen, um eine Testnachricht zu senden.

      Sie können zum Beispiel eine Testnachricht im Format JSON senden:

      CALL SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
        SNOWFLAKE.NOTIFICATION.APPLICATION_JSON('{"name": "value"}'),
        SNOWFLAKE.NOTIFICATION.INTEGRATION('budgets_notification_integration')
      );
      
      Copy
    3. SNOWFLAKE-Anwendung die USAGE-Berechtigung für die Benachrichtigungsintegration erteilen Die Berechtigung USAGE ermöglicht es dem Budget, die Benachrichtigungsintegration zu nutzen, um die Benachrichtigung zu versenden. Beispiel:

      GRANT USAGE ON INTEGRATION budgets_notification_integration
        TO APPLICATION snowflake;
      
      Copy
  2. Geben Sie die E-Mail-Adressen an, die die Benachrichtigung erhalten sollen. Wenn Sie eine Benachrichtigungsintegration erstellt oder ausgewählt haben, verknüpfen Sie die Benachrichtigungsintegration mit dem Budget.

    Rufen Sie dazu die Methode <budget_name>!SET_EMAIL_NOTIFICATIONS auf, und geben Sie Folgendes an:

    • Wenn Sie keine Benachrichtigungsintegration haben, die Sie verwenden möchten, geben Sie eine durch Komma getrennte Liste mit verifizierten E-Mail-Adressen ein. Zum Beispiel, wenn Sie Benachrichtigungen für das Konto Budget konfigurieren:

      CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!SET_EMAIL_NOTIFICATIONS(
        'costadmin@example.com, budgetadmin@example.com'
      );
      
      Copy

      Wenn Sie Benachrichtigungen für ein benutzerdefiniertes Budget konfigurieren, rufen Sie die Methode für das Objekt für das benutzerdefinierte Budget auf. Wenn Sie zum Beispiel ein benutzerdefiniertes Budget mit dem Namen my_budget erstellt haben:

      CALL my_budget!SET_EMAIL_NOTIFICATIONS(
        'costadmin@example.com, budgetadmin@example.com'
      );
      
      Copy
    • Wenn Sie eine Benachrichtigungsintegration verwenden möchten, geben Sie den Namen dieser Integration und eine durch Kommata getrennte Liste verifizierter E-Mail-Adressen ein. Zum Beispiel, wenn Sie Benachrichtigungen für das Konto Budget konfigurieren:

      CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!SET_EMAIL_NOTIFICATIONS(
        'budgets_notification_integration',
        'costadmin@example.com, budgetadmin@example.com'
      );
      
      Copy

      Wenn Sie Benachrichtigungen für ein benutzerdefiniertes Budget konfigurieren, rufen Sie die Methode für das Objekt für das benutzerdefinierte Budget auf. Wenn Sie zum Beispiel ein benutzerdefiniertes Budget mit dem Namen my_budget erstellt haben:

      CALL my_budget!SET_EMAIL_NOTIFICATIONS(
        'budgets_notification_integration',
        'costadmin@example.com, budgetadmin@example.com'
      );
      
      Copy
  3. Wenn Sie eine Benachrichtigungsintegration mit dem Budget verknüpft haben, können Sie überprüfen, ob das Budget mit Ihrer Benachrichtigungsintegration verknüpft ist, indem Sie die Methode <budget_name>!GET_NOTIFICATION_INTEGRATION_NAME aufrufen. Diese Methode gibt den Namen der E-Mail-Benachrichtigungsintegration zurück, die mit dem Budget verbunden ist.

    Zum Beispiel, wenn Sie Benachrichtigungen für das Konto Budget konfigurieren:

    CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!GET_NOTIFICATION_INTEGRATION_NAME();
    
    Copy

    Wenn Sie Benachrichtigungen für ein benutzerdefiniertes Budget konfigurieren, rufen Sie die Methode für das Objekt für das benutzerdefinierte Budget auf. Wenn Sie zum Beispiel ein benutzerdefiniertes Budget mit dem Namen my_budget erstellt haben:

    CALL my_budget!GET_NOTIFICATION_INTEGRATION_NAME();
    
    Copy

Benachrichtigung in der Warteschlange einrichten

So richten Sie die Warteschlangen-Benachrichtigung ein:

  1. Erstellen Sie eine Benachrichtigungsintegration, oder wählen Sie eine bestehende Benachrichtigungsintegration, die Sie verwenden möchten. Eine Benachrichtigungsintegration ermöglicht es Snowflake, Benachrichtigungen an ein Drittsystem zu senden.

    Erstellen Sie eine Benachrichtigungsintegration mit TYPE=QUEUE, DIRECTION=OUTBOUND und den für den Cloudanbieter erforderlichen zusätzlichen Eigenschaften. Weitere Informationen dazu finden Sie unter:

    Bemerkung

    Ihr Konto muss sich auf derselben Cloud-Plattform befinden wie die Warteschlange des Cloudanbieters.

    Beispiel:

    CREATE OR REPLACE NOTIFICATION INTEGRATION budgets_notification_integration
      ENABLED = TRUE
      TYPE = QUEUE
      DIRECTION = OUTBOUND
      NOTIFICATION_PROVIDER = AWS_SNS
      AWS_SNS_TOPIC_ARN = '<ARN_for_my_SNS_topic>'
      AWS_SNS_ROLE_ARN = '<ARN_for_my_IAM_role>';
    
    Copy

    Bemerkung

    Für Warteschlangen- und Webhook-Benachrichtigungen können Sie bis zu 10 Benachrichtigungsintegrationen mit einem Budget verknüpfen.

  2. Überprüfen Sie, ob die Benachrichtigungsintegration wie erwartet funktioniert, indem Sie die gespeicherte Prozedur SYSTEM$SEND_SNOWFLAKE_NOTIFICATION aufrufen, um eine Testnachricht zu senden.

    Sie können zum Beispiel eine Testnachricht im Format JSON senden:

    CALL SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
      SNOWFLAKE.NOTIFICATION.APPLICATION_JSON('{"name": "value"}'),
      SNOWFLAKE.NOTIFICATION.INTEGRATION('budgets_notification_integration')
    );
    
    Copy
  3. SNOWFLAKE-Anwendung die USAGE-Berechtigung für die Benachrichtigungsintegration erteilen Die Berechtigung USAGE ermöglicht es dem Budget, die Benachrichtigungsintegration zu nutzen, um die Benachrichtigung zu versenden. Beispiel:

    GRANT USAGE ON INTEGRATION budgets_notification_integration
      TO APPLICATION snowflake;
    
    Copy
  4. Verknüpfen Sie die Integration der Benachrichtigung mit dem Budget. Rufen Sie die Methode <budget_name>!ADD_NOTIFICATION_INTEGRATION auf, und übergeben Sie dabei den Namen der Integration.

    Zum Beispiel, wenn Sie Benachrichtigungen für das Konto Budget konfigurieren:

    CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!ADD_NOTIFICATION_INTEGRATION(
      'budgets_notification_integration',
    );
    
    Copy

    Wenn Sie Benachrichtigungen für ein benutzerdefiniertes Budget konfigurieren, rufen Sie die Methode für das Objekt für das benutzerdefinierte Budget auf. Wenn Sie zum Beispiel ein benutzerdefiniertes Budget mit dem Namen my_budget erstellt haben:

    CALL my_budget!ADD_NOTIFICATION_INTEGRATION(
      'budgets_notification_integration',
    );
    
    Copy
  5. Überprüfen Sie, ob die Benachrichtigungsintegration mit dem Budget verbunden ist.

    Rufen Sie die Methode <budget_name>!GET_NOTIFICATION_INTEGRATIONS auf, um die Liste der mit dem Budget verbundenen Benachrichtigungsintegrationen auszudrucken.

    Zum Beispiel, wenn Sie Benachrichtigungen für das Konto Budget konfigurieren:

    CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!GET_NOTIFICATION_INTEGRATIONS();
    
    Copy

    Wenn Sie Benachrichtigungen für ein benutzerdefiniertes Budget konfigurieren, rufen Sie die Methode für das Objekt für das benutzerdefinierte Budget auf. Wenn Sie zum Beispiel ein benutzerdefiniertes Budget mit dem Namen my_budget erstellt haben:

    CALL my_budget!GET_NOTIFICATION_INTEGRATIONS();
    
    Copy

    Die Methode gibt eine Tabelle aus, in der die Namen der Integrationen, die Zeiten, zu denen sie zuletzt zum Senden von Benachrichtigungen verwendet wurden, und das Datum, wann sie hinzugefügt wurden, aufgeführt sind.

    +----------------------------------+------------------------+------------+
    |  INTEGRATION_NAME                | LAST_NOTIFICATION_TIME | ADDED_DATE |
    +----------------------------------+------------------------+------------+
    | budgets_notification_integration | -1                     | 2024-09-23 |
    +----------------------------------+------------------------+------------+
    

Webhook-Benachrichtigung einrichten

So richten Sie eine Webhook-Benachrichtigung ein:

  1. Erstellen Sie eine Benachrichtigungsintegration, oder wählen Sie eine bestehende Benachrichtigungsintegration, die Sie verwenden möchten. Eine Benachrichtigungsintegration ermöglicht es Snowflake, Benachrichtigungen an ein Drittsystem zu senden.

    Erstellen Sie eine Benachrichtigungsintegration mit TYPE=WEBHOOK und den zusätzlichen Eigenschaften, die für den Webhook erforderlich sind. Weitere Informationen dazu finden Sie unter Versenden von Webhook-Benachrichtigungen.

    Die Benachrichtigungsmeldung liegt im JSON-Format vor, sodass Sie die Benachrichtigungsintegration so konfigurieren sollten, dass sie dies verarbeiten kann. Die folgenden Anweisungen erstellen zum Beispiel ein Geheimnis und eine Benachrichtigungsintegration für einen Slack-Webhook:

    CREATE OR REPLACE SECRET my_database.my_schema.slack_secret
      TYPE = GENERIC_STRING
      SECRET_STRING = '... secret in my Slack webhook URL ...';
    
    CREATE OR REPLACE NOTIFICATION INTEGRATION budgets_notification_integration
      ENABLED = TRUE
      TYPE = WEBHOOK
      WEBHOOK_URL = 'https://hooks.slack.com/services/SNOWFLAKE_WEBHOOK_SECRET'
      WEBHOOK_BODY_TEMPLATE='{"text": "SNOWFLAKE_WEBHOOK_MESSAGE"}'
      WEBHOOK_HEADERS=('Content-Type'='application/json')
      WEBHOOK_SECRET = slack_secret;
    
    Copy

    Bemerkung

    Für Warteschlangen- und Webhook-Benachrichtigungen können Sie bis zu 10 Benachrichtigungsintegrationen mit einem Budget verknüpfen.

  2. Überprüfen Sie, ob die Benachrichtigungsintegration wie erwartet funktioniert, indem Sie die gespeicherte Prozedur SYSTEM$SEND_SNOWFLAKE_NOTIFICATION aufrufen, um eine Testnachricht zu senden.

    Sie können zum Beispiel eine Testnachricht im JSON-Format senden. Achten Sie darauf, in der JSON-Zeichenfolge die doppelten Anführungszeichen und die Backslashes zu vermeiden:

    CALL SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
      SNOWFLAKE.NOTIFICATION.APPLICATION_JSON('{\\\"name\\\": \\\"value\\\"}'),
      SNOWFLAKE.NOTIFICATION.INTEGRATION('budgets_notification_integration')
    );
    
    Copy
  3. SNOWFLAKE-Anwendung die USAGE-Berechtigung für die Benachrichtigungsintegration erteilen Die Berechtigung USAGE ermöglicht es dem Budget, die Benachrichtigungsintegration zu nutzen, um die Benachrichtigung zu versenden. Beispiel:

    GRANT USAGE ON INTEGRATION budgets_notification_integration
      TO APPLICATION snowflake;
    
    Copy
  4. Wenn Sie eine Webhook-Benachrichtigungsintegration verwenden, die sich auf ein Geheimnis stützt, gewähren Sie der SNOWFLAKE-Anwendung die folgenden Berechtigungen.

    • READ-Berechtigung für dieses Geheimnis.

    • USAGE-Berechtigung für das Schema, das dieses Geheimnis enthält.

    • USAGE-Berechtigung für die Datenbank, die dieses Schema enthält.

    Beispiel:

    GRANT READ ON SECRET slack_secret TO APPLICATION snowflake;
    GRANT USAGE ON SCHEMA my_schema TO APPLICATION snowflake;
    GRANT USAGE ON DATABASE my_database TO APPLICATION snowflake;
    
    Copy
  5. Verknüpfen Sie die Integration der Benachrichtigung mit dem Budget.

    Rufen Sie die Methode <budget_name>!ADD_NOTIFICATION_INTEGRATION auf, und geben Sie den Namen der Integration an.

    Zum Beispiel, wenn Sie Benachrichtigungen für das Konto Budget konfigurieren:

    CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!ADD_NOTIFICATION_INTEGRATION(
      'budgets_notification_integration',
    );
    
    Copy

    Wenn Sie Benachrichtigungen für ein benutzerdefiniertes Budget konfigurieren, rufen Sie die Methode für das Objekt für das benutzerdefinierte Budget auf. Wenn Sie zum Beispiel ein benutzerdefiniertes Budget mit dem Namen my_budget erstellt haben:

    CALL my_budget!ADD_NOTIFICATION_INTEGRATION(
      'budgets_notification_integration',
    );
    
    Copy
  6. Überprüfen Sie, ob die Benachrichtigungsintegration mit dem Budget verbunden ist.

    Rufen Sie die Methode <budget_name>!GET_NOTIFICATION_INTEGRATIONS auf, die die Liste der mit dem Budget verbundenen Benachrichtigungsintegrationen ausgibt.

    Zum Beispiel, wenn Sie Benachrichtigungen für das Konto Budget konfigurieren:

    CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!GET_NOTIFICATION_INTEGRATIONS();
    
    Copy

    Wenn Sie Benachrichtigungen für ein benutzerdefiniertes Budget konfigurieren, rufen Sie die Methode für das Objekt für das benutzerdefinierte Budget auf. Wenn Sie zum Beispiel ein benutzerdefiniertes Budget mit dem Namen my_budget erstellt haben:

    CALL my_budget!GET_NOTIFICATION_INTEGRATIONS();
    
    Copy

    Die Methode gibt eine Tabelle aus, in der die Namen der Integrationen, die Zeiten, zu denen sie zuletzt zum Senden von Benachrichtigungen verwendet wurden, und das Datum, wann sie hinzugefügt wurden, aufgeführt sind.

    +----------------------------------+------------------------+------------+
    |  INTEGRATION_NAME                | LAST_NOTIFICATION_TIME | ADDED_DATE |
    +----------------------------------+------------------------+------------+
    | budgets_notification_integration | -1                     | 2024-09-23 |
    +----------------------------------+------------------------+------------+
    

Interpretation der JSON-Benachrichtigungsmeldung

Wenn Sie ein Budget so konfigurieren, dass es eine Benachrichtigung an eine Warteschlange eines Cloudanbieters oder einen Webhook sendet, enthält die Benachrichtigungsmeldung ein JSON-Objekt ähnlich dem folgenden:

{
  "account_name": "MY_ACCOUNT",
  "budget_name": "MY_BUDGET_NAME",
  "type": "BUDGET_LIMIT_WARNING",
  "limit": "100",
  "spending": "67.42",
  "spending_percent": "67.42",
  "spending_trend_percent": "130.63",
  "time_percent":"51.61"
}
Copy

Das JSON-Objekt enthält die folgenden Schlüssel-Wert-Paare:

Schlüssel

Beschreibung

account_name

Name Ihres Kontos.

budget_name

Name Ihres Budgets. Für das Konto-Budget lautet der Name ACCOUNT_ROOT_BUDGET.

type

Die Art der Benachrichtigung (zum Beispiel BUDGET_LIMIT_WARNING).

limit

Das Ausgabenlimit, das Sie für das Budget festgelegt haben.

spending

Der Betrag der Credit-Nutzung für diesen Monat.

spending_percent

Der Prozentsatz des Ausgabenlimits, der bereits ausgegeben wurde (spending / limit).

spending_trend_percent

Erwarteter Prozentsatz des Ausgabenlimits, der bis zum Ende des Monats ausgegeben werden soll (spending_percent / time_percent * 100).

time_percent

Prozentualer Anteil der Zeit, die für den Monat verstrichen ist (zum Beispiel 50.00, wenn der Monat zur Hälfte vorbei ist).

Überprüfen des Verlaufs von Benachrichtigungen zu einem Budget

Um den Verlauf der Benachrichtigungen zu einem Budget anzuzeigen, rufen Sie die Funktion NOTIFICATION_HISTORY auf und filtern nach dem Namen der Integration. Beispiel:

SELECT * FROM TABLE(
  INFORMATION_SCHEMA.NOTIFICATION_HISTORY(
    INTEGRATION_NAME=>'budgets_notification_integration'
  )
);
Copy

Die Spalte message_source enthält BUDGET für Zeilen, die Budgetbenachrichtigungen darstellen.

Benachrichtigungsintegration aus einem Budget entfernen

Um eine Benachrichtigungsintegration aus einem Budget zu entfernen, rufen Sie die Methode <budget_name>!REMOVE_NOTIFICATION_INTEGRATION auf und geben dabei den Namen der Integration an. Beispiel:

CALL my_budget!REMOVE_NOTIFICATION_INTEGRATION(
  'budgets_notification_integration',
);
Copy

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.

Verwenden Sie Snowsight, um Objekte aus einem benutzerdefinierten Budget zu entfernen oder hinzuzufügen

  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.

Verwenden Sie SQL-Befehle, um Objekte zu einem benutzerdefinierten Budget hinzuzufügen oder zu 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          |
+-------------+-----------------+-----------+-------------+---------------+

Bemerkung

Die Liste enthält keine Objekte, die automatisch hinzugefügt wurden (z. B. Compute Pools und Warehouses, die von einer Snowflake Native App erstellt wurden und ihr gehören).

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

      Wenn Sie eine Snowflake Native App zu einem Budget hinzufügen möchten, geben Sie beim Aufruf von SYSTEM$REFERENCE für das Argument object_type 'DATABASE' (nicht 'APPLICATION') an.

    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.

Verwenden Sie Snowsight zur Überwachung von Budgets

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.

  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.

Verwenden Sie SQL-Befehle zur Überwachung von Budgets

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 von Benachrichtigungen für ein Budget

Um Benachrichtigungen für ein Budget zu deaktivieren, rufen Sie die Methode SET_NOTIFICATION_MUTE_FLAG auf und geben TRUE als Argument an. Beispiel:

CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!SET_NOTIFICATION_MUTE_FLAG(TRUE);
Copy

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.

Verwenden Sie Snowsight, um das Budget für das Konto zu 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.

Verwenden Sie SQL-Befehle, um das Budget für das Konto zu deaktivieren

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

CALL SNOWFLAKE.LOCAL.ACCOUNT_ROOT_BUDGET!DEACTIVATE();
Copy