Überwachen von Budgets¶
In diesem Thema wird beschrieben, wie Sie die Budgetausgaben überwachen und das Budget identifizieren können, das die Credit-Nutzung einer bestimmten Ressource verfolgt.
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 acht Monate für das serverlose Suchoptimierungs-Feature anzuzeigen, führen Sie die folgenden Anweisungen aus:
USE ROLE account_budget_monitor;
SELECT *
FROM table(snowflake.local.account_root_budget!GET_SERVICE_TYPE_USAGE_V2(
'2025-05', '2025-12'))
WHERE service_type = 'SEARCH_OPTIMIZATION';
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 über ein Jahr für die im Budget enthaltenen materialisierten Ansichten anzuzeigen, führen Sie die folgenden Anweisungen aus:
USE ROLE budget_monitor;
SELECT *
FROM table(budgets_db.budgets_schema.na_finance_budget!GET_SERVICE_TYPE_USAGE_V2(
'2025-05', '2025-12'))
WHERE service_type = 'MATERIALIZED_VIEW';
Weitere Informationen dazu finden Sie unter Budgetmethoden.
Identifizieren der Budgets, die eine Ressource verfolgen¶
Wenn Sie feststellen möchten, welche Budgets eine Ressource verfolgen, können Sie die Funktion SYSTEM$SHOW_BUDGETS_FOR_RESOURCE aufrufen.
Beispiel:
SELECT SYSTEM$SHOW_BUDGETS_FOR_RESOURCE('TABLE', 'my_db.my_schema.my_table');
+-----------------------------------------------------------------------+
| SYSTEM$SHOW_BUDGETS_FOR_RESOURCE('TABLE', 'MY_DB.MY_SCHEMA.MY_TABLE') |
|-----------------------------------------------------------------------|
| [BUDGETS_DB.BUDGETS_SCHEMA.MY_BUDGET] |
+-----------------------------------------------------------------------+
Die Funktion gibt das Budget zurück, dem die Ressource hinzugefügt wurde. Sie enthält Budgets, die die Ressource aus einem der folgenden Gründe enthalten:
Die Ressource wurde direkt dem Budget hinzugefügt.
Die Ressource hat die Kombination aus Tag und Wert, die dem Budget hinzugefügt wurde.
Die Ressource gehört zu einem Objekt (z. B. einer Datenbank), das dem Budget hinzugefügt wurde.