Microsoft Flow Previewを使ってみる
遅くなりましたが、「第3回 JPSPS名古屋分科会 SharePoint/Office365勉強会 at 名古屋GeekBar」に行ってきまして、そこで、榊原さんにMicrosoft Flowというものを紹介していただいたので、自分でも使ってみようという内容のエントリーになります。
MicrosoftFlowのPreview版(以下MSFlowと表記します)が発表されました。内容としてはIFTTTのMicrosoft企業向け版とでもいうもののようです。 自分の会社でも一応、Office365は使っているので試してみることにしました。
ちなみに、私用でOffice365のSmallBusinessを使っているので良ければ乗り換えも検討したいと思います。
現在はPreviewバージョンなので記載の内容は2016/06/14の内容となります。今後の変更では参考にならないかもしれません。
【参考】
触ってみる
IFTTTと基本同じなのはわかっているので具体的にどういうものを作るのか考えてみます。 サービス間の連携なので、次のような連携を考えてみました。
OneDriveの指定したフォルダにファイルが生成されたら、 該当のメールアドレスに生成されたファイル名をメールする。
こんな連携を考えてみます。(IFTTTでもできるんですけどねw)
ログファイルや報告書などを共有フォルダなどに入れることはありますが、入れたことをワザワザ連絡するのは面倒ということがありますので、現実的に使えそうです。
新規のFlowを作成する
では先ほどのサービスイメージを元に作成したいと思います。
参考で示したURLにアクセスします。使用にはOffice365のログインが促されますのでログインをします(画面上部の【Sign In】でログインします)。Office365ユーザのみしか使えないのですが、そういうものなのでしょう。
ログイン後画面の上の方にある【My Flows】を選択すると画面が変わります。 初めての作成の場合には下記のようになると思います。
MSFlowではデフォルトとしてテンプレートが準備されています(このあたりもIFTTTと同じ)。テンプレートに合致するものがあれば、それを編集すればよいのですが、今回は触ってみるという趣旨なので、空の状態から作成していきます。画面の下にある【Create From Blank】を押します。
すると「How would you like to start」というメッセージとともにサービスの選択を行います。IFTTTでいうところのトリガーに当たるものになります。ただIFTTTと違うのはサービス選択してからトリガー動作を選ぶ方式ではなく、サービス+トリガー動作の対で行うところが違うかなと思います。
先ほどのサービスの定義では「OneDriveでファイルが作成された時」というトリガーにしていたのでこの中から「OneDrive - When a file is created」を選択します。すると、次のような画面に変更します。
OneDriveへのログインを促されますので該当するユーザでログインをします。
そして、ファイルの作成されたことを検知するフォルダを指定します。ここのユーザインターフェースはちょっとわかりにくい感じがしますが、慣れかもしれません。今回は幾つかある中から「作業用」というフォルダを設定しました。
操作UI画面
監視するフォルダが決定したら下にある+(プラス)ボタンを押します。
すると「Add an action」と「Add a condition」の選択になります。今回は状態をみることなくメールを送りたいので「Add an action」を選択します。MSFlowでは複数のトリガが使えるのでより複雑な処理が可能のようです。これはメリットのように感じます。
「Add an action」を選択するとトリガー選択と同様に動作(効果といったほうがいいのかな?)一覧から選択する画面になります。
メールを送るのでOffice365のメール送信を選べばいいのですが、今回は少しひねってSendGridを使ってメールを送りたいと思います。「SendGrid - Send email」を選択します。
SendGridとは
SendGridは公式サイトによれば
SendGridは全世界で利用されているメール配信サービスです。 クラウドサービスのためアカウントを作成するだけで即日メールを送信でき、面倒でコストのかかるMTAの構築は不要です。
SendGridは短時間に大量のメールを処理できるパワフルなインフラを有しており、 送信ドメイン認証や自動バウンス処理など、確実にメールを届けるための機能を標準搭載しています。
とのことです。簡単に言えばクラウド版SMTPサーバサービスでしょうか。
一覧から選択するとSendGridのサービス接続を促されます。ここでユーザ名とApiKeyを入力して接続をおこないます。(使用には登録が必要なので、登録してから実験してください)
接続後はメール送信設定の画面が表示されます。
設定項目は
- from:送信メールアドレス
- To:宛先メールアドレス
- Subject:メールのタイトル
- Email body:メールの本文
上記が必須の項目になります。
今回はこのように設定してみました。トリガーで取得できる項目はヘルパーとして表示されますのでこれを使うと、ファイル名やパス、ファイルの内容などをメールの本文などに入れ込むことも可能です。
この例ではメールのタイトルに保存された「File Name」とメール本文には「File path」を含めています。
ここまで完了したら画面したにある【Flow name】に設定名を記入します。今回は「Flow_Sample」という名前にしています。そこまでの作業が終わったら、【Done】ボタンを押します。
これで、今回行う一連の処理流れ(Flow)を登録できました。作成と同時に作成したFlowもスタートしています。
処理の実験
ここまでで準備は完了したので実際に動かしてみましょう。
対象となるOneDriveのフォルダにファイルを作成してみます。ファイル名は「ログ・ファイル.txt」として作成してみると、以下の無事にメールが届きましたががっが。
日本語ファイル名がうまく読み取れなかったようで見事に文字化けしてます。現在Preview版ですので仕方ないことでしょうか。
使ってみての感想
IFTTTに比べるともう少し使用できるサービスがあるといいなあというところはありますが今後に期待です。また、IFTTTで使用できないサービスもある(ビジネスベースものなのかな)のは選択肢としていいかと思います。
ただ、Google系のサービス(Android系も含めて)がほぼ使えないので個人的には物足りなさがありましたが、軸がOffice365ベースなのでこの辺りとの連携ができる組織であれば有効に使えるかなと思います、特にSharePointとの連携。