ユーザー定義のイベント トリガーの作成
ユーザー定義イベント トリガーを作成する場合は、まず、トリガー アクションの条件として機能できるユーザー定義イベントを作成する必要があります。次に、ユーザー定義イベント トリガーを作成します。最後に、トリガーをテストします。
トリガーは他の TDV リソースと同様に作成されますが、パブリッシュすることはできません。
ユーザー定義イベントは、組み込みプロシージャの GenerateEvent (/lib/util/ にあります) がイベント名と値を引数として呼び出されたときに生成されます。
ユーザー定義イベント トリガーは、クラスターごとに 1 回実行されます。タイマーベースのトリガーは、クラスター対応として指定でき、ユーザー定義イベントが生成されるすべてのクラスター ノードで起動します。
ユーザー定義のイベントを作成するには
1. | 次の例のように、CallsGenerateEvent という名前の SQL スクリプト プロシージャを作成して、GenerateEvent を呼び出します。 |
PROCEDURE CallsGenerateEvent ()
BEGIN
CALL GenerateEvent('runAReport', ' ');
END
このプロシージャは GenerateEvent を呼び出し、GenerateEvent は runAReport という名前のカスタム イベントを作成します。このプロシージャが実行されるたびに、GenerateEvent は runAReport という名前のカスタム イベントをトリガーシステムに挿入します。カスタム イベントは、ユーザー定義のイベント トリガーの [条件] セクションでユーザー定義のイベント名として指定できます。
ユーザー定義のイベント トリガーを作成するには
-
リソース ツリーで新しいリソースを追加できる場所を右クリックし、[新しいトリガー] を選択します。
-
[入力] ウィンドウで、トリガーの名前を指定し、[OK] をクリックします。
-
右側に表示されるトリガー エディターで、[トリガーを有効にする] チェック ボックスをオンにして、トリガーを有効にします。
-
[条件タイプ] セクションのドロップダウン リストから [ユーザー定義イベント] を選択します。
-
[ユーザー定義のイベント名] フィールドに、イベントの名前を入力します。
-
run*などの正規表現を使用して、複数の類似したユーザー定義イベント名に一致させることができます。この例では、runAReport という名前を入力します。
-
[アクション タイプ] で、トリガーするアクションのタイプをドロップダウン リストから選択します。
-
[アクション] セクションで、アクション タイプのオプションを入力します。オプションについては、「アクション ペイン」のセクションで説明されています。
プロシージャが PIPE カーソルを含む SQL スクリプトである場合は、[出力カーソルの排出] を選択します。
たとえば、電子メール通知を送信する場合は、必要に応じて、通知を受信する受信者の電子メール アドレスを入力して確認します。アドレスフィールドに、電子メール アドレスのリストを、それぞれのアドレスをカンマ (,) またはセミコロン (;) で区切って指定できます。[情報] タブをクリックします。[キュー内の最大数] フィールドを、繰り返し制限によってトリガーの起動が妨げられている間に複数の期間が経過した場合に、このトリガーが起動される最大回数に指定します。ほとんどのトリガーは、次に使用可能なアクティブな動作時間枠のときに 1 回だけ起動しますが、繰り返し制限が次に開始されたときに複数のトリガー アクションが起動される場合があります。この数を負にすることはできません。
-
トリガーを保存します。
[保存] オプションが有効になっていない場合は、[ファイル] > [すべてリフレッシュ] を選択してリソースを更新し、[保存] オプションを有効にします。
ユーザー定義のイベント トリガーをテストするには
• | 「ユーザー定義のイベント トリガーの作成」の説明に従って作成された CallsGenerateEvent プロシージャを実行します。 |