Quantcast
Channel: てすとぶろぐ
Viewing all 208 articles
Browse latest View live

LogicApps トリガの複数設定

$
0
0

LogicApps デザイナー上では、処理の起点となるトリガは一つだけ指定が可能ですが、

image

MSDN 上にはこのように「250 個までトリガ設定可能」とあったので試してみました。

LogicApps では JSON に処理やトリガの定義を記載します。現時点での Visual Studio 上での LogicApps 作成は、この JSON ファイルを直接記載してデプロイすることしかできません。
(現在、LogicApps Team としてはデザイナー機能を VS で提供する計画を考えているところのようです。)

そのため、 Azure ポータル上ではデザイナーを用意し、簡単にロジックを作成できるようにしているのですが、LogicApps の機能すべてを利用できるほどには対応されていません。

そのような場合は JSON を直接記載する必要がありますが、デザイナ非対応の記載を行うとデザイナ画面に戻ることができなくなりますので、色々悩ましいところです。

さて、本題に戻りますが、LogicApps デザイナーで CodeView を表示し、Trigger の部分の記載を以下のように変更してみます。

image

手動実行用の Manual トリガと、定期実行用の Recurrence トリガです。
保存するとデザイナーには次のようなエラーが表示され戻れなくなります。

image

ですが LogicApps としては問題ないので、定義したトリガは正しく認識されています。

image

このように複数のトリガが認識された状態となります。

image

どちらのトリガも動いていることが、履歴上から見ることが可能です。

これを利用することで、手動実行+定期実行+Webhook などという複数組み合わせての処理が記載できるようになります。


LogicApps WebHook トリガの Subscribe と Unsubscribe

$
0
0

LogicApps のトリガ機能として Webhook がデザイナー上でも利用できるようになり、JSON 直接編集をしなくともよくなったので試してみました。

Webhook とは、サービス提供側が何らかのイベント発生時にプッシュ通知してくれるようなものをイメージしてくれるとわかりやすいかと思います。(参考:SendGrid Webhook

LogicApps に WebHook トリガを設置すると、次のようになります。

image

テスト用として requestbinを利用しています。

トリガとして設定可能な項目として、大きく分けると 2 つに分かれます。
一つは「イベントを受け取るアドレスを登録する Subscribe 設定」。
もう一つは「Webhook を解除する Unsubscribe 設定」です。

Subscribe に設定すると、当 LogicApps ワークフローが「有効」になったタイミングで呼び出しを行います。Unsubscribe は反対に、ワークフローが「無効」になったタイミングで呼び出しを行います。

どちらも「実行」するタイミングではないのが、他トリガーと異なる挙動です。

Webhook トリガーを利用した場合に、イベントを通知してもらうための URL は @listCallbackURL で取得できます。サービス側がこのアドレスに対して、イベント情報をプッシュ通知してもらうことで、このワークフローが起動します。

image

Subscribe 時のパラメータ情報。Body に @listCallbackURL を指定しているので、黒塗りしている箇所にコールバック用アドレスが設定されているのが確認できます。

image

こちらが LogicApps の設定で Disable にした際に行われた Unsubscribe 時のパラメータです。

そして実際に listCallbackUrl で指定されたアドレスを POST で呼び出すと、ワークフローが実行されます。

image

今回はテスト用に Chrome アプリの Advanced REST Client を利用しました。
コールバックアドレスに対して POST することで、正常終了をあらわすステータス 200 が返却されているのが確認できます。

なお、コールバック用の仕組みとしては、セキュリティ情報込みの SAS が含まれたアドレスとなっており、特に ID 識別とかそういった類のものは含まれていません。そのため、このコールバック用アドレスは、アカウントやパスワードと同様に扱う必要がありますので注意してください。

image

実際のトリガ呼び出し履歴を確認すると、上記のように呼び出しに対してトリガが反応している(Fired)のが確認できます。

このような形で LogicApps の Webhook トリガは利用できます。

が。

このような形で、コールバックしてほしい URL をこちらから POST できるサービスでなければ、これは利用できないのが非常に残念なところです。

そのためほとんどは Manual トリガを利用作成された呼び出し用 URL を、サービス側に設定して利用することになるのかと思います。

Microsoft Flow で提供されるコネクタ

$
0
0

突然発表された Microsoft Flowですが、見てくれと言い機能といい確実に LogicApps 基盤となっています。PowerApps も同様のポジションなのですが、今後どういった違いを出していくのか、または統合されていってしまうのかが、気になるサービスとなっています。

image

現在プレビュー版として提供されている Flow ですが、利用するためには企業のメールアドレスが必要です。試しに登録してみると、次のような画面が表示されした。

image

ここで Create from Blank をクリックすると新規に、Browse Template をクリックするとテンプレート群から初期状態を選択することが可能です。

image

さて、LogicApps と同様の状態になりました。

実際にここから行うのも、トリガを選択しコネクタを選択、または条件判断を追加、とまったく同一のものとなります。

ところが。

Flow1Flow2Flow3

よく見ると初めて見る API がちらほら・・・。Instagram とか RSS とか、普通にあるといいなと思われるものが追加されていました。またコネクタとしても新機能がいろいろと。

image

例えばこれは Excel と接続してデータを取得とか、追記するためのコネクタですが、接続先として OneDrive 以外も用意されていました。

image

現時点でもこれらの接続先が利用できる状態ですので、ビジネスユーザーとしては結構使いでがありそうなコネクタが出てきたと思われます。

image

Instagram コネクタはこのような機能が。

image

Trello コネクタはこのような感じ。

image

Wunderlist コネクタはこのような感じでした(特にこれは API の数が多い!)

image

いつも通りコネクタを組み合わせて処理を作成後は、下にあるワークフロー名の欄に適当な名前を付けて保存します。保存後が上記のようになりますので、ここで Done をクリック。すると保存されてスケジューラに登録されます。

image

作成したワークフローは上記のように表示されます。今のところ、AppServicePlan に影響される Recccurence の実行間隔指定ですが、特に制限なく指定できるようです。試しに 5 分間隔を指定してみましたが、問題なく登録できました。

LogicApps ベースのサービスとしては 3 つめになるかと思います。
これが今後どうなっていくのかは楽しみなところです。

LogicApps, PowerApps そして Flow の比較

$
0
0

先日 Flow が突然発表されたのと同じタイミングで PowerApps も一般向けプレビューが開始されており、企業または教育機関のメールアドレスを所有していれば誰でも試すことができるようになりました。

これで LogicApps / PowerApps / Flow と同じようなサービスが出てきたわけですが、機能差など各サービスで異なる点があるので、そのあたりをまとめてみました。

まず大きな違いとしては、LogicApps は Azure の機能ですが、PowerApps と Flow は LogicApps をベースにした Office365 のサービスです。 実際の実行基盤ですが、現時点では AppService の Premium SKU を利用しています。そのため、定期的に実行する Reccurency トリガでの指定は 15 秒 が最小値となります。

PowerApps にログインし、フローの一覧を表示すると次のような画面になります。

image

対して Flow の場合はこうです。

image

これは同じようなフローを作ったわけではなく、Flow で作成した後に PowerApps を開いてみたらこうなっていました。つまるところ、Flow は PowerApps の一部機能を表だししたもの、と言い換えてもよいと思います。

実際にフローを定義する箇所もまったく同一だったのですが、エラー時の表記に異なっている点が見受けられました。

image

Flow にて Reccurency トリガで指定できない値を設定した場合、このように Premium SKU では利用できない値です、とエラー理由が表示されます。

image

同じことを PowerApps で指定すると、このように「何か間違ってるよ!」とだけ表示されてしまいます。フローの編集機能自体は PowerApps が先で Flow が後なので、まだ PowerApps 側に反映されていないだけ、と思われます。

その点を除くと後はほとんど同じで、違いが見当たっていません。

image

これらの実行履歴において、右側に表示されているマークをクリックすることで、各コネクタの動作結果を確認できるのも同一です。

image

利用できる API も同一で、ここは LogicApps 側にはまだ提供されていないものも多いです。

LogicApps も PowerApps も Flow もすべてプレビュー段階で、今後どのようになっていくかはわかりませんが、基本となる部分は一緒で +α の部分の差に注目していると、どれを扱うことになっても対応できるのではないか、と思います。

LogicApps, PowerApps そして Flow の比較(2)

$
0
0

先の投稿ではあまり細かいところをチェックしていなかったので、もう少し比較してみました。

まず大きな違いとしては、LogicApps と PowerApps / Flow の違いとしてマニュアルトリガの存在があります。

image

LogicApps では手作業(もしくは REST API としての呼び出し)に対応するための Manual トリガが用意されています。ですが PowerApps / Flow では上記のように存在しません。Recurrence と Http、そして Http + Swagger トリガが基本となりそうです。PowerApps トリガもありますが、こちらは反対に PowerApps / Flow 専用のトリガで、アプリ上で何かしら操作を行った際に呼び出されるようにできるものと思います。

また LogicApps のみが可能な機能として「別ワークフローの呼び出し」「Azure Function の呼び出し」があります。

image

現時点での制約かもしれませんが、今の時点で PowerApps / Flow は、別ワークフローや Function Apps を呼び出すことはできません。ApiApps については、管理者が PowerApps で利用できるように設定することが可能です。

このあたりを考えると、PowerApps / Flow は完全にマッシュアップ的な利用を前提としているように思えます。反対に LogicApps 側は ITPro / Developer 相手のサービスなので、PowerApps よりも比較的自由度が高いのではないでしょうか。

※そもそも LogicApps が開発者向けかどうか、という疑問はあります

あと、LogicApps / PowerApps / Flow それぞれで、別サービスとの接続を作成することは非常に多いのですが、PowerApps では既存の接続管理が非常に利用しやすい UI が提供されています。

image

Flow ではこのような画面はなく、LogicApps では現時点だと REST API を呼び出すことでしか、保持されている接続情報を取得 / 変更 / 削除できません。ここは PowerApps がものすごく使いやすいので、LogicApps や Flow にも反映してほしいところです。

Microsoft アカウントの重複

$
0
0

数多くのサービスをリリースしている Microsoft ですが、利用する際には少々気を付ける必要があります。それは各サービスで登録するアカウント情報は個別に管理されている、という点です。

Microsoft アカウントとしてまとめて管理されていそうなイメージですが、下記のような状況を作り出すことが可能となっています。

image

これは同一のメールアドレスで登録してあるのですが、PowerApps と別のサービスで別々のパスワードを設定してしまったのが原因かどうかははっきりとはわかりませんが、このように同一アカウント2重に表示されています。

なお、このアカウントですが、パスワードも別々に設定してあるので、入力するパスワードによってはサービスが利用できないというかなり不可思議な状況を作り出しています。

こうなった場合の対応方法が何かあればいいのですが、今のところは一度アカウント情報を削除する対応しかないようにも思えます。

LogicApps に PowerApps からのコネクタが追加されました

$
0
0

PowerApps を最近触っているのもあって、LogicApps にないコネクタが気になっていたのですが、LogicApps 側にも徐々に導入が開始されているようです。

まずは Instagram。

image

Mandrill。これは Mailchimp を利用したメール送信サービスです。

image

Trello

image

Project Online と RSS

image

このように一気にトリガ・コネクタ群が追加されています。Wunderlist がまだ追加されていませんが、Mandrill のように LogicApps のみ追加されているコネクタもありますので、まだまだこれからも統合が進んでいくものと思われます。

Azure サブスクリプション無しで LogicApps を試すには

$
0
0

LogicApps はサブスクリプションなしの状態でも LogicApps がどのようなものか、確認するための無償サービスが用意されています。

Azure App Service アプリケーションの作成

上記リンクをクリックすると、LogicApps のお試しアプリをデプロイするサイトに遷移します。ここで Microsoft アカウントを指定することで、一定時間の間 LogicApps を確認できる状態になります。

MSDN - マネージ API の一覧

image

このようにサブスクリプションがない方でも、LogicApps を試すことは可能ですので、気軽に色々試してみるといいのではないでしょうか。


PowerApps で Excel ファイルをデータ元としたアプリを作成するチュートリアル

$
0
0

PowerApps を色々触っていて、少しずつ分かってきたのでまとめてみます。

今回は LogicFlow 要素がありません(

PowerApps の特徴の一つであるアプリ作成を行うには、開発環境として PowerApps Studio が必要になります。PowerApps ポータルサイトの右上部にダウンロードアイコンがありますのでそれをクリックします。

image

クリックするとこのような画面が表示され、スマートフォン用の PowerApps か、Windows 用の PowerApps Studio かを選択できますので、 PowerApps Studio をクリックします。

image

インストール後に起動し、PowerApps 利用可能なアカウントでサインインすると初期画面が表示されます。

image

ここには PowerApps に登録されているサンプルアプリが 4 種類と、自作したアプリが一覧に表示されます。サンプルアプリは編集不可となっており、内部でどのような処理をしているのかを見ることができないのは、少々残念なところです。

image

New 新規作成をクリックするとこのような画面になります。上段に表示されているのは、ある程度テンプレートが用意されているもので、利用したいデータソースによっては利用可能です。下段にあるのは、まっさらから作成する場合のものと、テンプレが用意されているものの2種類から選択ができます。今回はまっさらな状態から作成してみます。

image

Blank App を選択するとこのような初期状態で表示されます。今回は、OneDrive 上にアップされている Excel ブックをデータソースとして扱うアプリを作成してみます。

まずはデータソースとなる Excel ファイルですが、現時点での LogicApps/PowerApps コネクタでは一つ制限があります。

image

このように適当なテーブルを作成しておく必要があるのですが、テーブル名にはマルチバイト文字が利用できません。日本語で登録すると、後で行う接続作成時にエラーとなりますので気を付けてください。ただし、開発チームではこれを不具合と認識しているとのことですので、どこかで対応は行われるものと思います。

Excel ファイルを作成したら、OneDrive 上の適当な場所へとアップロードしておきます。データの準備はこれで OK です。

image

データソースを準備した後は、いよいよアプリ側の作成です。
PowerApps Studio 上部メニューの「Content」をクリックし、その下の「DataSources」をクリックすると、右側にデータソースの追加画面が表示されます。今回は新規で接続から作成するので「Add data source」をクリックします。

image

ここに既存の接続が表示されるのですが、ここで表示されるのは PowerApps のポータルサイト上で作成してある接続です。新規に作成する場合は右上の「Add connection」をクリックします。

image

接続できるサービス一覧が表示されます。今回はここから OneDrive を探してクリックします。

image

Connect をクリック。

image

OneDrive への接続情報を求められるので、アカウントとパスワードを入力しサインインします。

image

接続できるとこのように、OneDrive 上でデータソースとして利用するファイルを選択するよう求められます。ここで、用意しておいた Excel ファイルを選択します。

image

選択すると Excel ファイル上で定義されているテーブル一覧が表示されますので、データソースにしたいテーブルを選択し Connect をクリックします。

image

このような表示になれば、データソースとして認識され PowerApps 上で利用可能です。

今回作成しようとしているのは、一覧画面がメインで表示され、個別のアイテムを選ぶと詳細画面へと遷移するものを作成します。この一覧画面ですが、PowerApps Studio ではテンプレートが用意されていますのでそれを利用するのが楽だとは思います。

image

メニューにて「Home」をクリックすると、「Layout」が選択できるようになりますのでそれをクリックします。すると一覧画面用のテンプレートになるものが表示されますので、ここから好きなレイアウトを選択します。

image

一番シンプルそうなものを選択した場合は、このように表示されます。

image

まずは画面で利用するデータソースを設定します。右下に「Quick tools」というのがありますのでそれをクリックすると、右側に設定画面が表示されます。その中の「Content」を開きます。

image

現在表示されている TextualGallerySample という文字列の前にある DB らしきアイコンをクリックすると、利用可能なデータソースが選択できますので、ここで先に接続した ListTable をクリックします。ここに表示されるのは、OneDrive 上の Excel ファイルに定義されているテーブルで、接続を行ったもののみが表示されますので、人によっては別の名前が出てくることもあります。

image

選択すると一覧画面に表示されていたコントロールが初期化されます。ここから、表示したい項目を張り付けていくことになります。

image

表示に用いるのは TextBox コントロールです。名前からすると入力できそうですが、PowerApps では表示に用います。

image

挿入した TextBox コントロールを選択し、左上にあるプロパティ一覧から Text を選択します。ここで設定するのが表示したい項目になります。ここでは IntelliSense も聞いており、上記のように入力補完してくれます。ThisItem は PowerApps での関数で、この明細行で表示する行データを表します。そこに . を打つと、どの項目を表示するかを選択できますので、表示したい項目を選択します。この際に表示される項目名は、Excel のテーブル上で定義されている項目名になります。

最初のうちはなにかしらのデータが表示されている方がわかりやすいかと思いますので、Excel 上にサンプルデータを投入しておくのもよいかも知れません。

image

試しに Excel Online で OneDrive 上の Excel ファイルにデータを投入します。

ここで気が付かれると思いますが、最初にテーブルを作成したときにはない項目が増えています。一番末尾にある PowerAppsId というのがそれで、これは PowerApps から接続した際に自動的に付与される、アプリ内部でレコードを一意に識別するための ID 値となります。

image

データを投入したら、PowerApps 側の方にも反映させます。メニューの Connect から Date sources をクリックし、右側に表示されたデータソース一覧で、さらに右に表示されている「・・・」をクリックすると、Refresh が選択できますのでクリックします。

そうすることで再度データを取得し、画面上にも表示が反映されます。

最初の一覧画面としてはここまでとなります。これだけのことで、Excel からデータを取得して一覧表示が行われます。右上にある実行ボタン「▶」をクリックすると、Windows 上で実行できますので正しく表示されているかが確認できます。

次に行うのは一覧画面で選択した際に詳細を表示する画面の作成です。

image

メニューの Home から New screen をクリックすると新しい画面が追加されます。追加された画面は本当のまっさら状態ですので、まずは最初の画面と同様のレイアウトとテーマを適用します。

image

下部にある Quick tools をクリックし、右に表示された中から Layout をクリックします。詳細表示画面なので、タイトルバーがあればいいということで、最もシンプルなレイアウトを選択します。

色合いを変えたい場合は、Thema の方から調整が可能です。

image

詳細画面を作成する場合は、あらかじめコントロールが用意されています。表示用の DisplayForm コントロールと編集可能な EditForm コントロールです。今回は表示のみ行いたいので、上部メニューの Insert から Forms – Display と選択して DIsplayForm コントロールを挿入します。

image

挿入されたらまずは表示位置を調整します。今回は、タイトルバーを除く感じで画面いっぱいにしておきます。

image

Form コントロール上で対象となるデータソースを指定します。DataSource を ListTable と設定します。

image

続いて Form コントロールが対象となるデータを、Item プロパティに設定します。ここでは前画面で選択された明細が対象となりますので、前画面で一覧表示に用いたコントロール(BrowseGallery1)の Selected プロパティを設定します。この記述が、表示したい明細をあらわすことになります。

このように PowerApps では、別画面のコントロールを参照できたりします。このあたり、純粋に開発を行われている方にはちょっと違和感を感じるかもしれません。

image

DataSource と Item を設定すると、このように Option 設定としてデータソースの項目が選択できるようになります。項目名の頭に表示されている、目、のようなアイコンをクリックすると自動で項目がフォーム上に追加されます。反対に削除する際はアイコンをさらにクリックすると、勝手に削除してくれます。

image

今回は全部の項目をクリックして、表示させてみます。なお、追加された項目の微調整は可能ですので、見出しを変更したり色を変えたり、表示内容に追記したりといったことは可能です。

ここまでの設定で、一覧画面から選択したものを詳細画面に遷移して表示、ができるようになります。サンプルレコードが一件だけだとわかりにくいので、もう一件増やしてみて実行してみます。

なお、PowerApps Studio 上の実行ボタンはあくまでもデバッグ的な実行ですので、最新データを取得することはありません。再度データソースの Refresh を行うことで、挙動を確認してみてください。

image

image

このように一覧から詳細へと遷移するところまでは実装できました。実際のアプリとしては、詳細画面から戻る処理ですとか、ほかにも色々あるかと思います。ですがそれも、何かしらのボタンやアイコンを用意しておき、OnSelect プロパティに Navigate 関数や Back 関数を記載すればすぐにでも可能です。

image

サンプルとしてはここまででもよいので、実際に Azure 上にアップロードして、スマートフォンから利用できるか確認してみます。PowerApps から保存を行おうとすると、初回保存の場合は上記のようにアプリ名と保存場所を確認されます。The Cloud を選択した状態だと Azure(PowerApps)上に保存され別の人にも利用可能な状態へとすることができます。This Computer を選択していると、作業をしている PC 上に保存されます。開発中などはローカルにのみ保存しておくのがいいでしょう。

image

保存が行われたのを確認したら、スマートフォン側の PowerApps を起動してみましょう。

image

PowerApps を起動すると利用可能なアプリ一覧が表示されます。Android 版だけかどうかはわかりませんが、どうもこの一覧取得が最新を拾ってこないことが多いので、その場合は一度サインアウトして再度サインインしてください。

image

image

アプリの初回利用時に、アプリ内で利用している接続で許可が必要なものについてはこのように確認ダイアログが表示されます。Accept をタップして許可します。

image

アプリのローディング画面です。ここで左に何かが表示されていますが、これは「アプリを終了する場合は左からスワイプしてね」という説明になります。

image

image

このように PowerApp Studio で作成したアプリが、簡単にスマートフォン上でも利用できました。

このように PowerApps を利用すると、簡単にアプリを作成して簡単に利用可能になります。アプリ自体も Android / iPhone / PC とほぼほぼすべての端末から利用可能です。そしてアプリとしては、各種データソースに対して簡単に接続ができ、それぞれに対して取得や更新が可能です。

今までにも似たような仕組みはありましたが、PowerApps ではこれまで以上に簡単にアプリの作成と利用が可能になっている感じを受けました。外部 API とも連携が可能ですし、組み合わせて利用することで色々夢が広がる気がしていますので、今後も注目です。

LogicApps 2016-04-01 Preview スキーマで提供する予定内容

$
0
0

LogicApps チームは時々 LogicApps Live という Web キャストを行っているのですが、2016/06/09 付けで公開された内容で、近日中のアップデート内容が公表されていました。

恐らくはこれらの更新内容は 2016-04-01 Preview スキーマとしての提供となると思われます。

image

まずは条件式のネストが可能となるようです。現在のデザイナー表示と異なり、Condition コネクタ内部に「Add a condition」や「…More」といったものが増えているのがわかります。実際にネストさせた場合はこのように表示されていました。

image

そしてそれ以外に操作が More をクリックすると行えるようになります。

image

驚いたのがこの「More」で選択できる内容です。「Foreach」「Until」といったループと、「Scope」の追加が行えるようになっています。これまでもループ機能はあったのですが、デザイナー上で操作できるようにはなったいなかったので、これで繰り返し処理が記載しやすくなるものと思われます。

現在 LogicApps の向かう方向性としては、BizTalk との統合(BizTalk で提供されている機能のコネクタ化)が優先的に行われているようですが、Visual Studio からの LogicApps 作成も、現在のように JSON 直接編集ではなくデザイナーとしての形で作成できるよう、作業が進んでいるとのことです。

新しい EMail コネクタ

$
0
0

先日いつものように Flow のアップデートがないか確認していたところ、新しいメールコネクタが追加されていました。仕組みとしては SendGrid を利用するもののようですが、これまでよりも楽に利用することが可能となっています。


Flow 上で新しいメールコネクタを選択した際に、まずは利用規約への同意が求められます。

image

この規約を見る限り、SendGrid を利用してメール送信を行うようです。SendGrid コネクタ自体はこれまでもありましたが、利用するためには SendGrid への登録が必要だったのもあり、ほんの若干敷居が高かったということなのでしょうか。

今回提供されたこのコネクタでは、規約に同意するだけで他の設定は一切必要がありません。メールを送信することが、これまで以上に簡易に利用できるようになったということになります。

なお、PowerApps でもこのコネクタは利用できるのですが、規約同意のこの表示が行われずにすぐに利用可能となっています。若干問題があるかな、ということでフィードバックは出しましたので、今後は同様に規約への同意が求められるかも知れません。

そして LogicApps ではこのコネクタはまだ来ていません・・・

Push 通知用コネクタが提供されるようです

$
0
0

PowerApps と Flow では近々プッシュ通知用のコネクタが提供される模様です。Flow のコネクタ一覧に突然それは登場していました。

push

このように一覧上でも Coming soon と書かれているように、現時点で動作するかは不明です。実際に選択してみると次のような設定が表示されました。

push2

これを見る限り、本来 Azure 関係でプッシュ通知を行うには、Notification Hub の機能を利用して行うのが一般的でした。ですが、PowerApps / Flow チームが行おうとしているのは、その Notification Hub の設定云々を一切考慮せずに利用できるもの、なのだと推測されます。

先日追加されていた SendGrid のメール送信コネクタもこの考え方でしたので、今回も期待できるところです。

このようなコネクタが増えてくると、LogicFlow で簡単に処理を行うことができるので、これからも注目したいところです。

2016-04-01 Scheme アップデートが来ました

$
0
0

以前に告知されていた 2016-04-01 アップデートが実際に利用できるように配布が開始されました。日本時間だと 6/25 に来たこのアップデートですが、このひは Intaract x Cloud Samrai 2016 というイベントで LogicApps などの事を話させていただいたこともあり、非常にドキドキしていたものです。

一番大きいインパクトがあるのはなんといってもこれ、Condition のネスタ対応とループのデザイナ対応です。

upd3 

このように Condition コネクタの内部でさらに Condition を利用できるようになり、複雑な条件判断も LogicFlow 化しやすくなりました。

また今までは JSON 定義を直接書き換えたりすることや、自動で行われていたループ化もコネクタとして提供され、より自分の思うように処理を形成できるようになっています。

image

これが ForEach コネクタで、ループ対象となる値(他のコネクタから受け取ったコレクションとか)を指定することで、その個数分ループ処理を行えます。

image

こちらが Until コネクタです。こちらは指定した条件を満たすまでループを行いますが、LogicFlow で利用する上の制限として、最大ループ数とタイムアウトの設定も行えるようになっています。まぁ無限ループになっては困るので、こういった別のループ脱出方法があるのはありがたいですね。

さて、これら二つのループが増えたのはうれしいのですが、若干制限があります。

image

ループ内にコネクタを設置するとこのような感じになるのですが、見てもらうとわかるように追加でコネクタを設置することができません。ループ内におけるコネクタは一つだけ、という制限があります。プログラマ的考え方だと、ループの中で色々な処理を行いたくなりますが、LogicFlow ではループを複数個用意して、実行したい処理を分けるのが望ましい、という考え方の違いなのかなと思います。まぁ今でしたら、ループの内部で子 LogicFlow を呼び出せばよいだけですので、LogicFlow を使う上ではそれほど大きい制限ではないかも知れません。

そしてループ処理関係で新しいコネクタ機能が追加されました。Fillter コネクタです。

image

名前からも想像できるところはありますが、主にループ対象の配列に対して、さらに条件で絞り込みを行うためのコネクタです。これを利用すれば、ループ内で条件判断したいケースを減らすことができると思われます。

もう一つ、実は大きな機能追加があります。それはスコープです。

image

Scope コネクタを配置するとこのような感じになります。このコネクタですがどういった事に利用するかというと、主に処理をまとめて記述するために利用します。これまでも JSON に記載することで利用できていたのですが、今回のアップデートでデザイナ上での対応も可能になりました。

Scope コネクタ内部に複数の処理を記述できますので、何かしらの一連の処理をひとつのスコープにまとめることが可能です。最初、プログラム的なスコープかと思っていたのですが、そうではなく、変数や定義は別スコープの物でも利用できるようです。スコープの中で提供されるものを、スコープ外でも呼び出せます。このあたり、もっとうまい利用方法がある気はしますが・・・。

あと、今回もポータル上でスキーマアップデートが行える・・・のですが、若干の注意点が。

image

このように Update Schema と Clone が増えています。Update Schema をクリックすれば、2016-04-01 版へと更新される・・・のですが、今回はそのまま自動では変更されません。

image

今回は Update Schema をクリックすると、このようにアップデート後の結果が表示され、そのうえで Save をクリックし「新しく LogicApps を作成させる」ことを要求します。

というのも今回は結構な大規模変更で、2015-08-01 スキーマであった色々な要素がそのままでは利用できないレベルの物が多いです。ループの処理が変わったことや、マニュアルトリガが廃止されHTTP Request トリガに置き換わるとか、見た目以上にダイナミックな変更が行われています。

そのためにも新しい LogicApps として作成させているのもありますので、変換後の動作確認は必須です。

2016-07-07 アップデートで LogicApps デザイナーが開かなくなった場合

$
0
0

昨日のアップデートのあと、LogicApps デザイナーをポータル上で開こうとして、GATEWAY_FOR_CONNECTION エラーが発生してしまう状態になってしまいました。

コードビュー上では利用できたのですが、やはりデザイナーが使えないと LogicApps らしくありません。意を決して公式 Azure LogicApps Teamに質問してみました。

実際のやり取りはこのような感じでした。

image

回答としては「キャッシュクリア」または「プライベートブラウズ」でいけるよ、ということで一安心です。

私、英語まったくできないので機械翻訳で頑張ったのですが、なんとか通じてくれていたようでw

LogicApps Team の方々の迅速な対応に感謝です!

LogicApps に Google Calendar / Google Tasks / SparkPost / YouTube コネクタが追加されました

$
0
0

現在 Worldwide Partner Conference が開催中なので、それに合わせての提供開始かもしれません。
利用できるコネクタが増えてこそ、LogicApps はより便利になるので非常にうれしい限りです。

そろそろコネクタ一覧の表示方法も改善されていかないかな、と思い始めるくらい、利用できる機能が増えているのはある意味うれしい悲鳴です。

gc

最初のトリガ一覧でこのように表示されていたのですが、あらためて検索してみると……。

image

トリガ一覧には表示されていない Google Tasks が出てきました。このあたり、利用できる機能が増えてきたこともありそろそろどうにかしてほしいですね。今のままだとコネクタの存在に気づけません……。

image

それはさておきまずはどういったトリガやアクションが用意されているかです。
Google Calendar のトリガは上記の通り。カレンダーにイベントが追加された、削除された、更新された、イベントが始まった、がトリガとして利用可能です。

image

Google Tasks はこんな感じ。タスクが追加された、タスクが終了した、新しいタスクリストが作成された、もうひとつの「task is due in a task list」についてはよくわかりません。

image

SparkPost のトリガは一つだけです。新しい配送先リストが作られた、ということのようです。

image

YouTube トリガは 3 つ。検索結果が存在した、登録チャンネルに新規アップロードがあった、自分で動画を投稿した、になります。

image

続いて Google Calendar に対して利用できる機能です。イベントの作成 / 更新 / 削除 / 取得 / 一覧の取得、カレンダー一覧の取得、と一通りの機能が用意されているようです。

image

Google Tasks では、タスクの作成 / タスクリストの作成 / タスクリストからタスクの取得 / タスクリストの取得 / タスクリストのタスクを一覧取得 、となっています。

image

SparkPost では、配信先へユーザーの追加 / 配信先リストの作成 / メール送信 / 配信先リストでのメール送信 / 配信先リストからユーザーの削除、となっています。このあたりは Mandrill や Mailchimp も似た感じですね。

残る Youtube なのですが、こちらは機能は用意されておらずトリガのみとなっているようです。

このあたりを利用すると、
Google Calendar にイベントが登録されたら、Google Tasks に必要作業を自動で登録させて、関係者に一斉メール送信、とかもロジックレスでできてしまいますね。


SendGrid コネクタと Mail コネクタの違い

$
0
0

現在 LogicApps / PowerApps / Flow の LogicFlow より、メールを送信するには何通りかのコネクタが提供されています。

なかでも SendGrid コネクタと Mail コネクタは、どちらも SendGrid サービスを利用しているので違いが分かりにくいところだったので調べてみました。

image

こちらが SendGrid コネクタを利用した場合です。

image

対してこちらが Mail コネクタを利用した場合です。設定できる項目に違いがあるのが見えると思います。

大きい違いは From のアドレスを設定できるかどうか、になるようです。SendGrid コネクタでは From も含めて多くの項目が設定できますが、Mail コネクタではよく必要とされる項目に限定したように思えます。

image

image

実際に届いたメールではこのように送信者が違って表示されます。

image

SendGrid コネクタの場合は From に指定したアドレスで届きます。

image

Mail コネクタの場合は……、ここは正直仕組みがわからないのですが、何かしらの値が「自動」で設定される(LogicFlow から SendGrid に渡される)様子です。今回のサンプルでは PowerApps/Flow チームの更新情報を RSS で取得しているものなのですが、そこに含まれていたアドレスが From として設定されているように思えます。謎です。

とまぁ、若干の違いはありますがどちらも SendGrid を利用している便利なコネクタです。

PowerApps / Flow からプッシュ通知を行う

$
0
0

つい先日に Android 版 Flow も提供開始され(開発中アプリなので不具合あってもお察しです)、ようやく iOS / Android 共に LogicFlow を使いプッシュ通知が簡単に行えるようになりました。

少しばかり試してみたのでメモしておきます。

まず、大前提として必要なのが Flow アプリです。今の時点では、このアプリの初回起動時に Azure Notification Hubs へ端末が登録され、プッシュ通知を行えるようにしているものと思われます。PowerApps アプリの導入だけではプッシュ通知が行えなかったので、Flow アプリが必要というのはほぼほぼ間違いないところです。

今回はお試しとして、PowerApps から通知を行うための LogicFlow を先に作成しておきます。

image

こんな感じで、単純に PowerApps から呼び出されたらプッシュ通知を行うだけの LogicFlow です。次に、この LogicFlow を呼び出すアプリを PowerApps で作成します。

image

ボタンを配置し、OnSelect イベントで作成した LogicFlow を呼び出すだけのシンプルなものです。PowerApps Studio 上で LogicFlow を呼び出す場合は、メニューから「Action」→「Flows」とクリックし、右側に利用できる LogicFlow が表示されるのでそこから選択します。

試しに PowerApps Studio 上で実行し、ボタンをクリックしてみるとこのように自分の端末にちゃんとプッシュ通知が行われているのが確認できます。

Screenshot_20160715-155126

私の端末は一応 Android ですが、色々と導入していて見た目が別物になっていますが、このようにちゃんとプッシュ通知が受け取れています。その後、Android 端末上で、先ほどの PowerApps アプリを実行させて確認したところ、同じようにちゃんとプッシュ通知されていました。

このようにまったくノンコーディングで端末へのプッシュ通知が行えるようになりましたので、外部サービスやらなんやらと色々と組み合わせて試してもらうといいかと思います。

LogicApps の「場所」と「AppService Plan」

$
0
0

最近のアップデートにて、LogicApps 新規作成時に「場所」を求められるようになりました。自分の中では LogicApps の所在は AppService Plan のリージョンがそれに該当すると思っていたので、よくわからなくなったので調べてみました。

image

このような形で LogicAPps を新しく作成してみます。場所を西日本、AppService Plan を South Central US にした形です。

image

作成された LogicApps はこのように「場所」で選択した状態となっています。

image

エンドポイントを見ても、ちゃんと西日本で動作しているように見えます。

image

並べてみるとこのような状態です。WebApps などはここは同一になります。

このことから、LogicApps は

・LogicApps 自体のエンドポイントを「場所」で決める
・LogicFlow が動作するのは AppService Plan で決める

という 2 段階構成になっているものと思われますが、これによりどのようなメリットがあるかというと、あまり思いつかないのが実情です。セキュリティなどの都合で、国内にしかアクセスできないけども、実行自体は国外でなくてはならない(国外のサービス間で連携したい)とかそういうケースになるのでしょうか。

詳しい話はもう少し調べてみようと思います。

でもなんで、LogicApps だけなんだろう……?

LogicApps が GA されました!

$
0
0

ついにこの日が、という気持ちになる LogicApps の正式リリースが行われました!これはめでたい!

ということで、プレビュー時から変更されている点を色々見ていると、基本的には何も変わらないのですが、大きな変更点としては料金算定の部分がありますので、このあたりを調べてみました。

今までの LogicApps では AppService Plan に基づいた料金算定となっていたのですが、GA 後は実行回数ベースの料金算定が「メイン」となります。

メイン、と書いたのは理由があって、原則は「Consumption」プランが自動で設定されるので実行回数ベースとなりますが、これまでの AppService Plan ベースの利用も可能となっています。

このあたりは MSDNにも記載してあるので参考にしてください。開発中は Free プランを利用するのが多分一番適しているとは思いますが、利用するには PowerShell でのひと手間が必要らしい(まだ成功したことがない)ので、これは別エントリで書こうと思います。

さて肝心の「実行回数(アクション数)」についての考え方ですが、MSDNを見ると以下のように記載されています。

Actions executed within loops are counted per iteration of the loop. For example, a single action in a for each loop iterating through a list of 10 items will be counted as the count of items in the list (10) multiplied by the number of actions in the loop (1) plus one for the initiation of the loop which, in this example, would be (10 * 1) + 1 = 11 action executions.

この書き方を見る限りは、LogicFlow の実行回数ではなくその要素となるコネクタの実行回数がアクション数となるように思えます。つまり、LogicFlow の中に 10 個のコネクタを設定し、それが全部動いたならば、アクション数は 10 となる、ということのようです。ここにループやらが加わると、上記のようにさらにカウントが追加されると思います(スコープとかどうなんだろ・・・)

そしてエラーなどの理由で実行されなかったコネクタについてはカウントしない、という記載もありますので、単純に LogicFlow の実行回数で考えるのではないようです。

なお、この計算式に基づいて考えると Free プラン利用時は 1 日に 200 アクションまで、となりますので、10 個のコネクタをもつ LogicFlow であれば 1 日に 20 回は正常動作できる、という計算になります。個人的にはこの方式も LogicApps 新規作成時に選択できるとありがたいのですが、なかなか微妙なところです。

現在開発中の LogicApps コネクタ情報

$
0
0

先週末に放送された LogicApps Liveの中で、現在開発中のものについての情報が流れていました。

image

LogicApps の GA に伴い、ほとんどのコネクタはプレビュー版となり SLA を満たす状態になるまで正式版にはなりませんが、その中でも続々とコネクタ追加作業が行われているとのことです。

そして上記のリストの中で目を引くのはやはり GMail と OneNote、VSTS ではないでしょうか。

OneNote はこれまでも結構要望があったと思うのですが、どこまでの機能を提供してくれるかによっては非常に使いころがあるかと思います。現在 PowerApps / Flow でだけ利用できる Excel コネクタがとても使える(使いどころが多い)ので、OneNote コネクタも機能によっては同様に扱うことが多くなりそうな気配です。

VSTS は説明不要ですが、構成管理系と接続できるようになると、一気にやりたいことは増えてくるでしょう。今までスクリプトなどを自作してあれこれしていたものが、LogicApps で手軽にできるようになるというのは非常に大きなメリットです。

そして GMail ! 個人的にはこれは非常に大きなポイントになると思います。Android の普及度合いもあり、ほとんどの人が GMail アカウントを持っているといっても過言ではありません。そこに対しても LogicApps が絡めるようになると、それだけで多くの人が使いたくなるのではないでしょうか。

いつリリースされるかなどの情報はまだまだ出ませんが、非常にこれからも楽しみです。

Viewing all 208 articles
Browse latest View live