先日の Release Update 02-17 で更新された HTTP Request コネクタでは、POST だけでなく GET や PUT での呼出しに対応したのと、相対パスに対応したので RESTful API 的な呼び出し方(~/employee/2 とか /hogehoge/1 みたいなアクションとパラメータを URL に含む方式)を LogicFlow のみで構築することが可能になりました。
まずは HTTP Request コネクタをトリガとして設置します。その際、一度保存してアクセス先の URL を生成してもらうのですが、アドレスを生成した後でなくては、詳細オプションのメソッドや相対パスが反映しない事がありました。見分け方としては、生成されたアドレスに相対パスで指定したものが含まれているかどうかで判別できます。
https://prod-13.northcentralus.logic.azure.com/workflows/{workflow id}/triggers/manual/paths/invoke/{action}/{id}?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=[signaature]
上記のように、生成されたアドレスに {action} とか {id} といった相対パスが含まれていれば大丈夫ですが、含まれていない場合は、再度 LogicFlow を保存して呼び出してみてください。
また、新しくなった LogicApps のブレードでも、トリガ履歴の欄に生成されたアドレスが表示されますので、ここから取得することも可能です。
サンプルとして上記のような LogicFlow を作成してみます。action としてメソッド名を渡してもらうイメージで、switch case でそれぞれの処理へ分岐するようなものです。
まずは GET で hisashi に 10 という値を設定し呼び出してみますと、上記のように正しく鰻を10匹奢ってもらうよう結果が返されています。
今度は hisashi から zaiba2 にアドレスを変えてアクセスしてみると、switch case で正しく分岐されて、戻されてきた結果が変わっているのがわかります。
最後に定義していない action を指定した場合も、switch case で「規定」のところへ処理が流れているのが、戻された結果からもわかります。
このように、強化された HTTP Request コネクタを利用すると、これまでコードを書くことでしか用意できなかった RESTful API 的なインターフェースも、コードレスで実現することが可能です。今まではクエリパラメータを利用する方法のみだったのが、相対アドレスを利用できることでより一層できることが広がってきたと思います。
0 件のコメント:
コメントを投稿