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:
Kundenspezifische Rolle zum Verwalten des Kontobudgets erstellen
Verwenden Sie Snowsight, um das Budget für das Konto zu aktivieren
Verwenden Sie die SQL-Befehle, um das Budget für das Konto zu 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;
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.
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Cost Management aus.
Wählen Sie Budgets aus.
Wenn Sie bei Aufforderung ein Warehouse aus.
Wählen Sie in der rechten oberen Ecke des Dashboards die Option Set up Account Budget aus.
Geben Sie das Zielausgabenlimit für das Konto ein.
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.
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.
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();
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);
Richten Sie Benachrichtigungen für das Budget ein, damit Sie benachrichtigt werden, wenn Ihre Credit-Nutzung voraussichtlich Ihr Ausgabenlimit überschreitet.
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:
Verwenden Sie Snowsight, um ein individuelles Budget zu erstellen
Verwenden Sie SQL-Befehle, um ein benutzerdefiniertes Budget zu 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;
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.
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Cost Management aus.
Wählen Sie Budgets aus.
Wählen Sie in der rechten oberen Ecke des Dashboards die Option
(Budget hinzufügen) aus.
Geben Sie einen Budget name ein.
Wählen Sie die Datenbank und das Schema aus, in denen Sie Ihr Budget erstellen möchten.
Geben Sie unter Spending limit das Ausgabenlimit ein.
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.
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
Um ein kundenspezifisches Budget zu erstellen, müssen Sie eine Rolle mit den erforderlichen Berechtigungen zum Erstellen eines Budgets verwenden.
Um ein kundenspezifisches Budget zu ändern, müssen Sie eine Rolle mit den erforderlichen Berechtigungen zum Ändern eines Budgets verwenden.
Ü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();
Erstellen Sie das Budget
my_budget
inbudgets_db.budgets_schema
mit dem Befehl CREATE BUDGET:USE SCHEMA budgets_db.budgets_schema; CREATE SNOWFLAKE.CORE.BUDGET my_budget();
Legen Sie das monatliche Ausgabenlimit fest. Setzen Sie das Ausgabenlimit auf 500 Credits pro Monat:
CALL my_budget!SET_SPENDING_LIMIT(500);
Richten Sie Benachrichtigungen für das Budget ein, damit Sie benachrichtigt werden, wenn Ihre Credit-Nutzung voraussichtlich Ihr Ausgabenlimit überschreitet.
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.
Weisen Sie zum Beispiel der kundenspezifischen Rolle
budget_admin
die erforderlichen Berechtigungen und die Instanzrolle für das Budgetmy_budget
im Schemabudgets_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;
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 Datenbankdb1
zum kundenspezifischen Budgetmy_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;
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:
(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.
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');
Ü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') );
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;
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' );
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' );
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' );
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' );
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();
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();
Benachrichtigung in der Warteschlange einrichten¶
So richten Sie die Warteschlangen-Benachrichtigung ein:
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>';
Bemerkung
Für Warteschlangen- und Webhook-Benachrichtigungen können Sie bis zu 10 Benachrichtigungsintegrationen mit einem Budget verknüpfen.
Ü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') );
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;
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', );
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', );
Ü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();
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();
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:
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;
Bemerkung
Für Warteschlangen- und Webhook-Benachrichtigungen können Sie bis zu 10 Benachrichtigungsintegrationen mit einem Budget verknüpfen.
Ü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') );
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;
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;
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', );
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', );
Ü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();
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();
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"
}
Das JSON-Objekt enthält die folgenden Schlüssel-Wert-Paare:
Schlüssel |
Beschreibung |
---|---|
|
Name Ihres Kontos. |
|
Name Ihres Budgets. Für das Konto-Budget lautet der Name |
|
Die Art der Benachrichtigung (zum Beispiel |
|
Das Ausgabenlimit, das Sie für das Budget festgelegt haben. |
|
Der Betrag der Credit-Nutzung für diesen Monat. |
|
Der Prozentsatz des Ausgabenlimits, der bereits ausgegeben wurde ( |
|
Erwarteter Prozentsatz des Ausgabenlimits, der bis zum Ende des Monats ausgegeben werden soll ( |
|
Prozentualer Anteil der Zeit, die für den Monat verstrichen ist (zum Beispiel |
Ü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'
)
);
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',
);
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¶
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Cost Management aus.
Wählen Sie Budgets aus.
Wählen Sie das zu bearbeitende Budget aus.
Wählen Sie in der rechten oberen Ecke des Dashboards die Option
(Bearbeitungssymbol) aus.
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.
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();
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.
Sie können die Tabelle
t1
zum Budgetmy_budget
hinzufügen, indem Sie die folgenden Schritte ausführen: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;
Ü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'));
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.
Sie können die Datenbank
db1
aus dem Budgetmy_budget
entfernen, indem Sie die folgenden Schritte ausführen: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;
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'));
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;
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;
Ü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.
Weitere Informationen zur Verwendung einer kundenspezifischen Kontorolle zum Überwachen des Kontobudgets finden Sie unter Kundenspezifische Rolle zum Überwachen des Kontobudget erstellen.
Weitere Informationen zur Verwendung einer kundenspezifischen Kontorolle zum Überwachen kundenspezifischer Budgets finden Sie unter Kundenspezifische Rolle zum Überwachen eines kundenspezifischen Budgets erstellen.
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Cost Management aus.
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.

Wählen Sie (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 oder
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()
);
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()
);
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()
);
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()
);
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);
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:
Melden Sie sich bei Snowsight an.
Wählen Sie Admin » Cost Management aus.
Wählen Sie Budgets aus.
Wählen Sie oben rechts das „Mehr“-Menü … aus.
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();