カテゴリ:

ウェアハウスとリソースモニター DDL

CREATE RESOURCE MONITOR

新しいリソースモニターを作成します。このコマンドは、アカウント管理者のみが実行できます。リソースモニターの詳細については、 リソースモニターの操作 をご参照ください。

こちらもご参照ください:

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

構文

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

条件:

triggerDefinition ::=
    ON <threshold> PERCENT DO { SUSPEND | SUSPEND_IMMEDIATE | NOTIFY }

必須パラメーター

名前

リソースモニターの識別子。アカウントに対して一意である必要があります。

識別子はアルファベットで始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例: "My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

オプションのパラメーター

CREDIT_QUOTA = 数値

頻度間隔ごとにリソースモニターに割り当てられたクレジットの数。モニターに割り当てられたすべてのウェアハウスの合計使用量が現在の頻度間隔でこの数に達すると、リソースモニターはクォータの100%にあると見なされます。

リソースモニターに値が指定されていない場合、モニターにはクォータがなく、指定された間隔内で使用率が100%に達することはありません。

デフォルト:値なし(つまり、クレジットクォータなし)

FREQUENCY = MONTHLY | DAILY | WEEKLY | YEARLY | NEVER

クレジット使用状況が 0 にリセットされる頻度間隔。

リソースモニターの頻度を設定する場合は、 START_TIMESTAMP も設定する必要があります。

頻度に NEVER を指定した場合、ウェアハウスのクレジット使用状況はリセットされません。

デフォルト:値なし(つまり、各暦月の初めにクレジットクォータがリセットされる従来の動作)

START_TIMESTAMP = タイムスタンプ | IMMEDIATELY

リソースモニターが割り当てられたウェアハウスのクレジット使用状況のモニタリングを開始する日時。

リソースモニターのタイムスタンプを設定する場合は、 FREQUENCY も設定する必要があります。

デフォルト:値なし(つまり、リソースモニターがウェアハウスの監視をすぐに開始する従来の動作)

END_TIMESTAMP = タイムスタンプ

リソースモニターが割り当てられたウェアハウスを一時停止する日時。

デフォルト:値なし(つまり、ウェアハウスの停止日なし)

TRIGGERS ... (別名 アクション

リソースモニターの1つ以上のトリガーを指定します。各トリガー定義は次で構成されます。

ON しきい値 PERCENT

リソースモニターのクレジットクォータの割合として指定された数値。 100 より大きい値がサポートされています。現在の頻度間隔でこのしきい値に達すると、トリガーが起動します。

DO SUSPEND | SUSPEND_IMMEDIATE | NOTIFY

しきい値に達したときにトリガーによって実行されるアクションを指定します。

  • SUSPEND:現在実行中のクエリの完了を許可しながら、割り当てられたすべてのウェアハウスを一時停止します。リソースモニターのクレジットクォータが増加するまで、ウェアハウスは新しいクエリを実行できません。さらに、このアクションは、自分で通知を有効にしているすべてのユーザーに通知を送信します。

  • SUSPEND_IMMEDIATE:割り当てられたすべてのウェアハウスを直ちに中断し、ウェアハウスを使用して現在実行中のクエリまたはステートメントをキャンセルします。さらに、このアクションは、自分で通知を有効にしているすべてのユーザーに通知を送信します。

  • NOTIFY:(自分自身で通知を有効にしているすべてのユーザーに)アラートを送信しますが、他のアクションは実行しません。

デフォルト:値なし(つまり、リソースモニターはアクションを実行しません)

使用上の注意

  • トリガーはオプションです。ただし、アクションを実行するには、 少なくとも 1つのトリガーをリソースモニターに追加する必要があります。

  • 各リソースモニターは、最大5つの NOTIFY  アクショントリガーまでサポートします。

  • 作成されたリソースモニターは、監視アクションを実行する前にウェアハウスまたはアカウントに割り当てる必要があります。

    • ウェアハウスをリソースモニターに割り当てるには、 ALTER WAREHOUSE (またはウェアハウスを作成している場合は CREATE WAREHOUSE)を使用します。

    • アカウントレベルでリソースモニターを割り当てるには、 ALTER ACCOUNT を使用します。

  • アカウントで作成されたすべてのリソースモニターとその割り当てを表示するには、 SHOW RESOURCE MONITORS コマンドを使用します。コマンド出力では、アカウントまたはウェアハウスに割り当てられていないため、クレジット使用状況を監視していないリソースモニターの level 列に NULL が表示されます。

重要

リソースモニターによって生成された通知を受信するには、アカウント管理者が設定で通知を明示的に有効にする必要があります。さらに、メール通知を受信するには、アカウント管理者が設定で確認済みのメールを持っている必要があります。プリファレンスは、Snowflake ウェブインターフェイスでのみ設定できます。詳細については、 通知受信の有効化 をご参照ください。

3トリガーで limiter という名前のリソースモニターを作成します。

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;