秋のJAZUG勉強会お疲れ様でした。

僕としても久しぶりに「あっこれは成功したな。」と思えるセッションをできたので非常にうれしく寝れそうです。

登壇依頼をしていただいた主催の吉野さん、ありがとうございました。

 

さて、みなさん気になったであろう僕がセッション中に行った

Cortanaに「Webサイト作りたいんだけど」と言っただけでAzureにWebAppがデプロイされる仕組みについて、簡単ではありますが帰りの新幹線の中で書きたいと思います。

 

まず問題となるのがCortanaからはUWPしか立ち上げることができないということです。

ここでUWPからmanagement APIをたたいてデプロイができればよかったのですがうまくいかなかった。というよりmanagement API自体ちゃんと整備されていないのでここは azure CLIを使いたいです。

しかしazure CLIを使うためにはpower shellにコマンドを入れなければいけません。UWPからpowershellのプロセスを立ち上げることはできないのでUWPから何かしらの方法をつかってpowershellをたたかなければいけません。

そこで思いついたのがソケット通信です。.netアプリでソケットをListenしておいて、UWPから、ソケット通信ならば制限されることなく外部プロセスを起動できます。

そうして考え出されたのがこのスタイル(WordPressの関係で画像がアップロードできなかった)

 

.NetプロセスがSocketListenしてれば問題ないので今回はプレゼン中に起動していてもおかしくないPowerPointのアドインでソケットをListenし、UWPからデータがきたらProcess.Start()でPowershellを立ち上げてazure CLIを起動します。

 

azureCLIさえたたければあとはWeb Appsにデプロイ支持するだけなので簡単ですね。(事前にサブスクリプションの登録が必要になります)

これの面白いところは見た感じCortanaが直接powershellをたたいてazureにデプロイしてるようにみえるんですけど実はpowerpointが一役買っていたという感じですね。

 

これを応用すると、CortanaからWin32APIを呼び出したりやりたい放題です。

次はPowerpointからazureにデプロイしたいですね。

 

参加された皆様、ありがとうございました!!