コンソールアプリ + Azure Web ジョブ で静的 Web サイトの作成
コンソールアプリで HTML ファイルを生成し、Azure Web アプリ(旧 Azure Websites)で閲覧できるものを作ってみます。定期的にアプリを実行し、その結果を Web で閲覧できるようにする、といったものを想定しています。
コンソールアプリ
コンソールアプリのコードです。Azure Web アプリのルートディレクトリ(%WEBROOT_PATH%)に HTML ファイルを保存しているところがポイントです。
https://gist.github.com/jz5/c1fad1730ab7946ce7a3
このコードでは、Web アプリのルートディレクトリに、実行時の時刻を表示する Default.html を作成します。
Azure Web ジョブの登録
Azure Web アプリに、Web ジョブとしてコンソールアプリを登録します。
Visual Studio のソリューションエクスプローラーのプロジェクトのコンテキストメニューから「Azure WebJob として発行」をクリックし、手続きをはじめます。
スケジュールなどを設定します。次の画面は、はじめて発行するときのみ表示されます(一度設定すると My Project\webjob-publish-settings.json に情報が記録されています)。
まだ、この時点では Web に発行されていません。
Azure Web アプリの発行
続いて、Web ジョブを登録する Web アプリを指定します。今回は新規に作成します。
以上まで進めると、指定した Web アプリに、作成したコンソールアプリが Web ジョブとして登録されます。スケジュールを指定した場合、その通りにアプリが実行されます。
実行結果
コンソールアプリで出力された HTML ファイルが閲覧できます。
補足: 実行とログ
とりあえず Web ジョブをすぐ実行するには、https://manage.windowsazure.com/ の Web アプリの「WEB ジョブ」タブ画面からできます。ジョブ名のリンク先から、ジョブを呼び出す URL の取得・設定も可能です。
この画面の「ログ」列のリンクから、実行履歴も閲覧できます。
補足: コンソールアプリの場所
コンソールアプリの実行ファイルは、/site/wwwroot/app_data/jobs/triggered または /site/wwwroot/app_data/jobs/continuous 以下のジョブ名のディレクトリにあります。
※ FTP クライアントで見た図