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> ]
                      [ 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 = 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. altes Verhalten, bei dem 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.

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 = 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)

NOTIFY_USERS = ( Benutzername [ , Benutzername , ... ] )

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 Benutzername ist der Wert der Spalte name 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:

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 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 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.

  • 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 Wert NULL an.

  • Wenn in einem Ressourcenmonitor die Parameter frequency und start_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 auf 0 zurückgesetzt wird, ist 12:00 Uhr UTC, unabhängig von der in start_timestamp angegebenen Uhrzeit.

  • Wenn ein Nicht-Administrator-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.

  • Hinweis zu 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.

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 dazu finden Sie unter Aktivieren des Empfangs von Benachrichtigungen für Kontoadministratoren.

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 der Benutzername für zwei der Benutzer ein Leerzeichen und ist daher in doppelte Anführungszeichen gesetzt:

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