Azure Automation では、監視タスクを使用して、PowerShell Runbook でイベントを検索し、アクションをトリガーします。 監視タスクには、監視とアクションの 2 つの部分が含まれています。 監視 Runbook は、監視タスクで定義された間隔で実行され、データをアクション Runbook に出力します。
注
Watcher タスクは、21Vianet が運営する Microsoft Azure ではサポートされていません。
Important
2020 年 5 月以降、イベントの監視、定期的なタスクのスケジュール設定、アクションのトリガーを行うための推奨およびサポートされている方法は、Azure Logic Apps の使用です。 Azure Logic Apps を使用した定期的な自動タスク、プロセス、ワークフローのスケジュール設定と実行に関するページを参照してください。
この記事では、新しいファイルがディレクトリに追加されたときに監視する監視タスクを作成する手順について説明します。 次の方法を学びます:
- 監視ワーカーのランブックをインポートする
- オートメーション変数を作成する
- アクション ランブックを作成する
- 監視タスクを作成する
- ウォッチャーをトリガーする
- 出力を検査する
[前提条件]
この記事を完了するには、次のものが必要です。
- Azure サブスクリプション。 まだお持ちでない場合は、 MSDN サブスクライバー特典をアクティブ化 するか、 無料アカウントにサインアップできます。
- 監視およびアクションの Runbook と監視タスクを保持する、Automation アカウント。
- 監視タスクが実行される、Hybrid Runbook Worker。
- PowerShell ランブック。 PowerShell Workflow Runbook とグラフィカル Runbook は、監視タスクではサポートされていません。
監視ワーカーのランブックをインポートする
この記事では、ディレクトリ内の 新しいファイルを検索する Watcher Runbook と呼ばれる Watcher Runbook を使用して、ディレクトリ内の新しいファイルを検索します。 ウォッチャー Runbook は、フォルダー内のファイルに対する最後の既知の書き込み時間を取得し、そのしおり以降に更新されたファイルを確認します。
この Runbook は、次の手順を使用してポータルから Automation アカウントにインポートできます。
- Azure portal にサインインします。
- Automation アカウントを検索して選択します。
- [ Automation アカウント] ページで 、一覧から Automation アカウントの名前を選択します。
- 左側のウィンドウで、[プロセス自動化] の下の [Runbook ギャラリー] を選択します。
- [ソース] ドロップダウン リストで GitHub が選択されていることを確認します。
- Watcher Runbook を検索します。
- ディレクトリ内の新しいファイルを検索する Watcher Runbook を選択し、詳細ページで [インポート] を選択します。
- Runbook に名前と必要に応じて説明を指定し、[ OK] をクリックして Runbook を Automation アカウントにインポートします。 ウィンドウの右上のウィンドウに 、インポートに成功した メッセージが表示されます。
- 左側のウィンドウから Runbook を選択すると、インポートした Runbook が指定した名前の下に一覧に表示されます。
- Runbook をクリックし、Runbook の詳細ページで [編集] を選択し、[ 発行] をクリックします。 メッセージが表示されたら、[ はい ] をクリックして Runbook を発行します。
Azure Automation GitHub 組織から Runbook をダウンロードすることもできます。
- Watch-NewFile.ps1の Azure Automation GitHub 組織ページに移動します。
- GitHub から Runbook をダウンロードするには、ページの右側にある [コード ] を選択し、[ ZIP のダウンロード ] を選択してコード全体を zip ファイルにダウンロードします。
- 内容を抽出し、 Runbook をインポートします。
オートメーション変数を作成する
Automation 変数は、上記の Runbook が各ファイルから読み取って格納するタイムスタンプを格納するために使用されます。
[共有リソース] で [変数] を選択し、[+ 変数の追加] をクリックします。
名前 として「Watch-NewFileTimestamp 」と入力します。
種類として DateTime を選択します。 既定では、現在の日付と時刻が使用されます。
[ 作成 ] をクリックして Automation 変数を作成します。
アクション ランブックを作成する
監視タスクで、アクション Runbook を使用して、監視 Runbook から渡されたデータを操作します。 Azure ポータルまたは Azure Automation GitHub 組織 のいずれかから、定義済みのアクション Runbook をインポートする必要があります。
この Runbook は、Azure portal から Automation アカウントにインポートできます。
- Azure portal にサインインします。
- Automation アカウントを検索して選択します。
- [ Automation アカウント] ページで 、一覧から Automation アカウントの名前を選択します。
- 左側のウィンドウで、[プロセス自動化] の下の [Runbook ギャラリー] を選択します。
- [ソース] ドロップダウン リストで GitHub が選択されていることを確認します。
- Watcher アクションを検索し、監視 Runbook によってトリガーされたイベントを処理する Watcher アクションを選択し、[インポート] をクリックします。
- 必要に応じて、インポート ページで Runbook の名前を変更し、[ OK] をクリックして Runbook をインポートします。 ブラウザーの右上にある通知ウィンドウに 、インポートに成功した メッセージが表示されます。
- Automation アカウント ページに移動し、左側の Runbook をクリックします。 新しい Runbook は、前の手順で指定した名前の下に表示されます。 Runbook をクリックし、Runbook の詳細ページで [編集] を選択し、[ 発行] をクリックします。 メッセージが表示されたら、[ はい ] をクリックして Runbook を発行します。
Azure Automation GitHub 組織からダウンロードすることによってアクション Runbook を作成するには:
- Process-NewFile.ps1の Azure Automation GitHub 組織ページに移動します。
- GitHub から Runbook をダウンロードするには、ページの右側にある [コード ] を選択し、[ ZIP のダウンロード ] を選択してコード全体を zip ファイルにダウンロードします。
- 内容を抽出し、 Runbook をインポートします。
監視タスクを作成する
この手順では、前述のセクションで定義した監視 Runbook とアクション Runbook を参照する監視タスクを構成します。
Automation アカウントに移動し、[プロセス オートメーション] で [Watcher タスク ] を選択 します。
[監視タスク] ページを選択し、[ + 監視タスクの追加] をクリックします。
名前として 「WatchMyFolder 」と入力します。
ウォッチャーの構成 を選択し、Watch-NewFile ランブックを選択します。
パラメーターに次の値を入力します。
- FOLDERPATH - 新しいファイルが作成される Hybrid Runbook Worker 上のフォルダー ( d:\examplefiles など)。
- EXTENSION - 構成の拡張機能。 すべてのファイル拡張子を処理するには、空白のままにします。
- RECURSE - 再帰操作。 この値は既定値のままにします。
- 実行設定 - Runbook を実行するための設定。 ハイブリッドワーカーを選択します。
[ OK] をクリックし、[ 選択 ] をクリックしてウォッチャー ページに戻ります。
構成アクション を選択し、 Process-NewFile ランブックを選択します。
パラメーターに次の値を入力します。
- EVENTDATA - イベント データ。 空白のままにします。 監視 Runbook からデータが渡されます。
- 実行設定 - Runbook を実行するための設定。 この Runbook は Azure Automation で実行するので、Azure のままにします。
[ OK] をクリックし、[ 選択 ] をクリックしてウォッチャー ページに戻ります。
[ OK] を クリックして監視タスクを作成します。
ウォッチャーをトリガーする
監視タスクが期待どおりに動作することを確認するには、次の説明に従ってテストを実行する必要があります。
- Hybrid Runbook Worker にリモート接続します。
- PowerShell を開き、フォルダーにテスト ファイルを作成します。
New-Item -Name ExampleFile1.txt
次の例は、予想される出力を示しています。
Directory: D:\examplefiles
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2017 9:05 PM 0 ExampleFile1.txt
出力を検査する
Automation アカウントに移動し、[プロセス オートメーション] で [Watcher タスク ] を選択 します。
ウォッチャー タスク WatchMyFolder を選択します。
[ストリーム] の下の [監視ストリームの表示] をクリックして、監視者が新しいファイルを見つけてアクション Runbook を開始したことを確認します。
アクション Runbook ジョブを表示するために、[監視アクション ジョブを表示] をクリックします。 各ジョブを選択して、ジョブの詳細を表示できます。
新しいファイルが見つかった場合に予想される出力は、次の例で確認できます。
Message is Process new file...
Passed in data is @{FileName=D:\examplefiles\ExampleFile1.txt; Length=0}
次のステップ
独自の Runbook の作成の詳細については、「 PowerShell Runbook の作成」を参照してください。