CREATE RESOURCE MONITOR¶
Erstellt einen neuen Ressourcenmonitor. Dieser Befehl kann nur von Kontoadministratoren ausgeführt werden.
- Siehe auch:
ALTER RESOURCE MONITOR, DROP RESOURCE MONITOR, SHOW RESOURCE MONITORS, ALTER WAREHOUSE, ALTER ACCOUNT
Syntax¶
CREATE [ OR REPLACE ] RESOURCE MONITOR [ IF NOT EXISTS ] <name> WITH
[ CREDIT_QUOTA = <number> ]
[ FREQUENCY = { MONTHLY | DAILY | WEEKLY | YEARLY | NEVER } ]
[ START_TIMESTAMP = { <timestamp> | IMMEDIATELY } ]
[ END_TIMESTAMP = <timestamp> ]
[ NOTIFY_USERS = ( <user_name> [ , <user_name> , ... ] ) ]
[ TRIGGERS triggerDefinition [ triggerDefinition ... ] ]
Wobei:
triggerDefinition ::= ON <threshold> PERCENT DO { SUSPEND | SUSPEND_IMMEDIATE | NOTIFY }
Erforderliche Parameter¶
name
Bezeichner für den Ressourcenmonitor. Dieser muss für Ihr Konto eindeutig sein.
Der Bezeichner muss mit einem alphabetischen Zeichen beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.
Optionale Parameter¶
CREDIT_QUOTA = num
Gibt die Anzahl der Credits an, die dem Ressourcenmonitor in Wiederholungsintervallen zugewiesen werden. Wenn die Gesamtnutzung für alle dem Monitor zugeordneten Warehouses diese Zahl für das aktuelle Wiederholungsintervall (d. h. den Abrechnungszeitraum) erreicht hat, wird der Ressourcenmonitor als bei 100 % des Kontingents betrachtet.
Wenn für einen Ressourcenmonitor kein Wert angegeben ist, hat der Monitor kein Kontingent und wird innerhalb des angegebenen Intervalls nie eine Nutzung von 100 % erreichen.
Standard: Kein Wert (d. h. kein Credit-Kontingent)
FREQUENCY = MONTHLY | DAILY | WEEKLY | YEARLY | NEVER
Das Intervall, in dem die Credit-Nutzung auf
0
zurückgesetzt wird.Wenn Sie für einen Ressourcenmonitor eine Frequenz festlegen, müssen Sie auch
START_TIMESTAMP
einstellen.Wenn Sie
NEVER
für die Häufigkeit angeben, wird die Credit-Nutzung für das Warehouse nicht zurückgesetzt.Standard: Kein Wert (d. h. altes Verhalten, bei dem das Credit-Kontingent zu Beginn jedes Kalendermonats zurückgesetzt wird)
START_TIMESTAMP = timestamp | IMMEDIATELY
Datum und Uhrzeit, zu der der Ressourcenmonitor beginnt, die Credit-Nutzung für die zugewiesenen Warehouses zu überwachen.
Wenn Sie für einen Ressourcenmonitor einen Zeitstempel festlegen, müssen Sie auch
FREQUENCY
festlegen.Wenn Sie als Startzeitstempel
IMMEDIATELY
angeben, wird der aktuelle Zeitstempel verwendet.Wenn Sie ein Datum ohne Zeitangabe angeben, wird die aktuelle Zeit verwendet.
Wenn Sie eine Uhrzeit einstellen, ohne eine Zeitzone anzugeben, wird UTC als Standardzeitzone verwendet.
Standard: Kein Wert (d. h. altes Verhalten, bei dem der Ressourcenmonitor sofort mit der Überwachung der Warehouses beginnt)
END_TIMESTAMP = timestamp
Datum und Uhrzeit, zu der der Ressourcenmonitor die zugewiesenen Warehouses anhält.
Standard: Kein Wert (d. h. kein Datum für Anhalten des Warehouse)
NOTIFY_USERS = ( user_name [ , user_name , ... ] )
Gibt die Liste der Benutzer an, die E-Mail-Benachrichtigungen von den Ressourcenmonitoren erhalten sollen. Enthält eine Benutzer-ID Leer- oder Sonderzeichen oder wird zwischen Groß- und Kleinschreibung unterschieden, muss der Bezeichner in Anführungszeichen gesetzt werden (z. B. „Mary Smith“). Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
Die Benutzer-ID
user_name
ist der Wert der Spaltename
aus der Ausgabe von SHOW USERS.Jeder aufgelistete Benutzer muss eine verifizierte E-Mail-Adresse haben. Eine Anleitung zum Überprüfen von E-Mail-Adressen über die Weboberfläche finden Sie unter:
Klassische Weboberfläche: Überprüfen Ihrer E-Mail-Adresse über die klassische Konsole.
Snowsight: Verifizieren Ihrer E-Mail-Adresse.
E-Mail-Benachrichtigungen für Nicht-Administrator-Benutzer ersetzen nicht die E-Mail-Benachrichtigungen für Administratoren. Alle Kontoadministratoren, bei denen E-Mail-Benachrichtigungen aktiviert sind, erhalten weiterhin E-Mail-Benachrichtigungen.
Bemerkung
Für Nicht-Administrator-Benutzer gelten folgende Einschränkungen:
Benutzer, die keine Administratoren sind, werden per E-Mail benachrichtigt, ihnen werden aber keine Benachrichtigungen auf der klassischen Weboberfläche angezeigt.
Nicht-Administrator-Benutzer können keine Ressourcenmonitore erstellen.
Benachrichtigungen sind auf Ressourcenmonitore einzelner Warehouses beschränkt. Nicht-Administrator-Benutzer können keine Benachrichtigungen von Ressourcenmonitoren auf Kontoebene erhalten.
Nicht-Administrator-Benutzer können nicht über Ressourcenmonitore auf Kontoebene benachrichtigt werden.
Benutzer, die keine Administratoren sind, können keine anderen Benutzer für die Benachrichtigung zuweisen.
TRIGGERS ...
(auch Aktionen)Gibt einen oder mehrere Trigger für den Ressourcenmonitor an. Jede Triggerdefinition enthält Folgendes:
ON threshold PERCENT
Ein numerischer Wert, der als Prozentsatz des Credit-Kontingents für den Ressourcenmonitor angegeben wird. Werte größer
100
werden unterstützt. Sobald die Nutzung diesen Schwellenwert für das aktuelle Wiederholungsintervall erreicht hat, wird der Trigger ausgelöst.DO SUSPEND | SUSPEND_IMMEDIATE | NOTIFY
Gibt die Aktion an, die der Trigger ausführt, wenn der Schwellenwert erreicht ist:
SUSPEND
: Hält alle zugewiesenen Warehouses an, wobei gerade aktive Abfragen abgeschlossen werden dürfen. Die Warehouses können erst dann neue Abfragen ausführen, wenn das Credit-Kontingent für den Ressourcenmonitor erhöht wird. Darüber hinaus sendet diese Aktion eine Benachrichtigung an alle Benutzer, die Benachrichtigungen für sich selbst aktiviert haben.SUSPEND_IMMEDIATE
: Hält alle zugewiesenen Warehouses sofort an und bricht alle derzeit aktiven Abfragen oder Anweisungen ab, die die Warehouses nutzen. Darüber hinaus sendet diese Aktion eine Benachrichtigung an alle Benutzer, die Benachrichtigungen für sich selbst aktiviert haben.NOTIFY
: Sendet eine Benachrichtigung (an alle Kontoadministratoren mit aktivierten Benachrichtigungen), führt aber keine weiteren Aktionen aus.
Standard: Kein Wert (d. h. der Ressourcenmonitor führt keine Aktionen durch)
Nutzungshinweise¶
Trigger sind optional, jedoch muss mindestens ein Trigger zu einem Ressourcenmonitor hinzugefügt werden, bevor er irgendwelche Aktionen ausführen kann.
Jeder Ressourcenmonitor unterstützt bis zu maximal 5
NOTIFY
-Aktionstrigger.Nachdem ein Ressourcenmonitor erstellt wurde, muss er erst einem Warehouse oder Konto zugewiesen werden, bevor er Überwachungsaktionen durchführen kann:
Um einem Warehouse einen Ressourcenmonitor zuzuordnen, verwenden Sie ALTER WAREHOUSE (oder CREATE WAREHOUSE, wenn Sie das Warehouse erstellen).
Verwenden Sie ALTER ACCOUNT, um einen Ressourcenmonitor auf Kontoebene zuzuweisen. Der Parameter NOTIFY_USERS muss Null sein.
Verwenden Sie den Befehl SHOW RESOURCE MONITORS, um alle in Ihrem Konto erstellten Ressourcenmonitore und deren Zuordnung anzuzeigen. Die Befehlsausgabe zeigt für Ressourcenmonitore, die weder dem Konto noch einem Warehouse zugeordnet sind und daher keine Credit-Nutzung überwachen, in der Spalte
level
den WertNULL
an.Wenn in einem Ressourcenmonitor die Parameter
frequency
undstart_timestamp
eingestellt sind, wird der Tag für die Rücksetzung der Credit-Nutzung auf Grundlage dieser Parameter berechnet. Die Uhrzeit, zu der die Credit-Nutzung auf0
zurückgesetzt wird, ist 12:00 Uhr UTC, unabhängig von der instart_timestamp
angegebenen Uhrzeit.Wenn Sie
end_timestamp
angeben, endet die Überwachung zum angegebenen Datum und der angegebenen Uhrzeit, und alle zugewiesenen Warehouses werden zu diesem Zeitpunkt angehalten, auch wenn das Credit-Kontingent nicht erreicht wurde.In diesem Fall wird eine Benachrichtigung gesendet, die besagt, dass der Ressourcenmonitor einen bestimmten Prozentsatz seines Kontingents erreicht und eine Aktion zum sofortigen Anhalten ausgelöst hat. Der Prozentsatz des Kontingents spiegelt die Anzahl der im aktuellen Intervall bis zum Enddatum verbrauchten Credits wider und entspricht möglicherweise nicht dem von Ihnen festgelegten Schwellenwert.
Wenn sich in der Benachrichtigungsliste Nicht-Administrator-Benutzer befinden, gelten die folgenden Hinweise:
Wenn ein Benutzer keine verifizierte E-Mail-Adresse hat, schlägt die SQL-Anweisung fehl.
Wenn einer der Benutzer in der Benachrichtigungsliste seine E-Mail-Adresse ändert und die neue E-Mail-Adresse nicht verifiziert ist, schlägt die Benachrichtigung fehl.
Die Benachrichtigungsliste ist auf eine maximale Anzahl von 5 Nicht-Administrator-Benutzern beschränkt.
Kontoadministratoren können die Benachrichtigungsliste von Nicht-Administrator-Benutzern in der Ausgabe von SHOW RESOURCE MONITORS in der Spalte
notify_user
einsehen.
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Wichtig
Um von Ressourcenmonitoren generierte Benachrichtigungen zu erhalten, müssen Kontoadministratoren und Nicht-Administratorbenutzern der Benachrichtigungsliste müssen in ihren Einstellungen Benachrichtigungen explizit aktivieren. Darüber hinaus müssen Benutzer in ihren Einstellungen eine verifizierte E-Mail haben, um E-Mail-Benachrichtigungen erhalten zu können. Einstellungen können nur über die Snowflake-Weboberfläche vorgenommen werden. Weitere Informationen dazu finden Sie unter Aktivieren des Empfangs von Benachrichtigungen.
Beispiele¶
Erstellen Sie einen Ressourcenmonitor namens limiter
mit 3 Trigger:
CREATE OR REPLACE RESOURCE MONITOR limiter WITH CREDIT_QUOTA = 5000 TRIGGERS ON 75 PERCENT DO NOTIFY ON 100 PERCENT DO SUSPEND ON 110 PERCENT DO SUSPEND_IMMEDIATE;
Erstellen Sie einen Ressourcenmonitor so, dass er Benachrichtigungen an drei Benutzer sendet, wenn 75 % des Credit-Kontingents erreicht sind. In diesem Beispiel enthält user_name
für zwei der Benutzer ein Leerzeichen und muss daher in doppelte Anführungszeichen gesetzt werden:
CREATE OR REPLACE RESOURCE MONITOR limiter WITH CREDIT_QUOTA = 5000 NOTIFY_USERS = (JDOE, "Jane Smith", "John Doe") TRIGGERS ON 75 PERCENT DO NOTIFY ON 100 PERCENT DO SUSPEND ON 110 PERCENT DO SUSPEND_IMMEDIATE;