Kategorien:

DDL für Warehouses und Ressourcenmonitore

CREATE RESOURCE MONITOR

Erstellt einen neuen Ressourcenmonitor. Dieser Befehl kann nur von Kontoadministratoren ausgeführt werden. Weitere Informationen zu Ressourcenmonitoren finden Sie unter Verwenden von Ressourcenmonitoren.

Siehe auch:

ALTER RESOURCE MONITOR , DROP RESOURCE MONITOR , SHOW RESOURCE MONITORS , ALTER WAREHOUSE , ALTER ACCOUNT

Syntax

CREATE [ OR REPLACE ] RESOURCE MONITOR <name> WITH
                      [ CREDIT_QUOTA = <number> ]
                      [ FREQUENCY = { MONTHLY | DAILY | WEEKLY | YEARLY | NEVER } ]
                      [ START_TIMESTAMP = { <timestamp> | IMMEDIATELY } ]
                      [ END_TIMESTAMP = <timestamp> ]
                      [ 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 = Zahl

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. Legacy-Verhalten, wodurch das Credit-Kontingent zu Beginn jedes Kalendermonats zurückgesetzt wird)

START_TIMESTAMP = Zeitstempel | 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.

Standard: Kein Wert (d. h. Legacy-Verhalten, wodurch der Ressourcenmonitor sofort mit der Überwachung der Warehouses beginnt)

END_TIMESTAMP = Zeitstempel

Datum und Uhrzeit, zu der der Ressourcenmonitor die zugewiesenen Warehouses anhält.

Standard: Kein Wert (d. h. kein Datum für Anhalten des Warehouse)

TRIGGERS ... (auch Aktionen)

Gibt einen oder mehrere Trigger für den Ressourcenmonitor an. Jede Triggerdefinition enthält Folgendes:

ON Schwellenwert 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 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 Warnung (an alle Benutzer, die Benachrichtigungen für sich selbst aktiviert haben), aber führt aber keine weitere Aktion 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.

  • 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, NULL in der Spalte  level an.

Wichtig

Um Benachrichtigungen von Ressourcenmonitoren zu erhalten, müssen Kontoadministratoren Benachrichtigungen in ihren Einstellungen explizit aktivieren. Darüber hinaus müssen Kontoadministratoren, um E-Mail-Benachrichtigungen zu erhalten, eine verifizierte E-Mail in ihren Einstellungen haben. Einstellungen können nur über die Snowflake-Weboberfläche vorgenommen werden. Weitere Informationen 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;