からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

Power Platform + Azure で SharePoint のサイト作成フォームを作ってみる

2020/01/31 に行われた「Power Apps でローコーディングな勉強会 #12」に参加してきました。

powerapps.connpass.com

その際にちょっとしたアプリを作成したのでここで紹介したいと思います。

概要

アプリの概要としては「Power Apps から SharePoint のサイト コレクションを作成する」というものです。SharePoint のサイト コレクションは GUI で作成する以外では PowerShell または CSOM (C#) による作成が可能になっています。今回は、Azure Automation で PowerShell を実行することによって、サイト コレクションの作成を実現しました。

Azure Automation

まずは事前準備として Azure Automation で SharePoint Online Management Shell を使うためにモジュールをインストールする必要があります。モジュールはギャラリーから検索してインストールすることができます。

次に Runbook を作成します。事前に用意しておいた資格情報で接続し New-SPOSite を実行するだけの簡単なものです。


Power Apps

Azure Automation に渡す情報を入力するためのフォームを作成します。あまり時間がなかったのでバリデーションなんかのチェックは入っていません。こういう場合のバリデーションはどうやってやるんですかね?まだまだ Power Apps スキル不足を感じます。


Power Automate

Power Apps で入力後、ボタンをクリックしたときに動作する Power Automate を定義します。ここでは単純に Power Apps から受け取ったパラメーターを Azure Automation に受け渡しています。


実行

実行してみるとサイト コレクションが作成できていることがわかります。


まとめ

今回は単純に Power Automate は Azure Automation を呼ぶだけでしたが、承認フローを入れたり、作成後にメールや Teams に通知する機能を付けたりと、もっといろいろなことができると思います。また、Power Automate から Azure Automation を呼び出すというテクニックは、ほかの場面でも応用が効くと思いますので、ぜひとも使っていただきたいと思います。