Azure FunctionsがGAしたところで、Visual StudioのFunctions向け拡張機能はまだ出てきていませんが、それまでにVisual Studio(拡張機能)が持っている便利な機能を何か使う方法はないか?ということで。
必要なもの
- Visual Studio 2015
- Azure SDK for Visual Studio (https://azure.microsoft.com/ja-jp/tools/)
- Azureサブスクリプション
- 作成済みの Function App
最初に・・・
Visual Studio 2015を起動していきなりサーバーエクスプローラーを起動します。
出てない場合は、メニュー>表示>サーバーエクスプローラー
資格情報の入力
Azureサブスクリプションが関連付けられているアカウントでログインしておきます。何も出ない場合は、(サーバーエクスプローラー>Azure>コンテキストメニューから)サブスクリプションの管理を開きチェック状態を確認します。
リモートデバッグ
サーバーエクスプローラーのAzureノードから、AppService→「Function App」があるリソースグループ>Functionsのアイコンからコンテキストメニューを表示するとデバッガーのアタッチというメニューがあります。これを選択します。
しばらく待ちます。これはAppService上でリモートデバッガを起動してそこを経由させてアタッチとなるので、少し時間がかかります。
上の画像は、Kuduのプロセスで見た感じ。
リモートデバッグ用のプロセスが起動しています。
これはポータルでは、こんなところに相当します。
上記はポータルのAppService上のアプリケーションの設定にある一部です。
さて、アタッチできて満足しててもよいのですが、
ブレークポイントで息の根・・・じゃなかった、プログラムをブレークしてみたいですね。
リモートファイルを開く
先ほどのサーバーエクスプローラーから、csxファイルを選んでコンテキストメニューを表示して、開くを選びます。
さて開けたところで、デバッグへ。
デバッグ(ブレークポイント)
このとき、シンボル、モジュールが読み込まれていない状態になっていますが気にしないことにします。というのも、Functionsは常時起動しているわけではないからです。なので、アクセスさせてみましょう。
実行!(ポータル)
ポータルから、テスト実行ボタンを押してみます。
(このほうがリモートしてる感じ出るからね
ポチっと
きたーっ!!
というわけで、ここまでです。
ここからデバッグした状態のままリモートファイルを編集することもできます。
インテリセンスは不完全ですが、テキストエディタよりはいいでしょう。
何よりデバッグした状態で、変数を確認することができますので、
想定で実装するよりも、ずっと捗るんじゃないかと思います。
※編集した場合、保存して、同期をしないとサーバーには反映されません。
アドベントカレンダーが始まって、盛り上がってきていますが、正式なToolには期待しつつも、どんなものか?触ることができたら、またきっかけになれば幸いです。