SlideShare a Scribd company logo
LowCode Develop using LogicFlow
2018/09/29
LogicFlow-ja 小尾 智之
#LogicApps
#MicrosoftFlow
Self Introduction
Attribute1: VB / LogicApps-Flow-PowerApps
@twit_ahf
Attribute2: 艦これ / 御城プロジェクトRe / EDF / メガネ / クマ / プロレス
tomoyuki.obi
http://el.jibun.atmarkit.co.jp/ahf
Community: LogicFlow-ja / CLR/H
Microsoft MVP for Microsoft Azure(2017.03 ~)
https://aka.ms/logicflowjp-fb
Overview / Cost
Logic Apps/Flow とは
• コネクタを利用して複数システムを連携(iPaas)
– コネクタは用意されたものだけでなく自作も可能
– 既存サービスをカスタムコネクタとして登録可能
• デザイナー上での操作でほぼ完結する
ローコード/コードレス開発(Low-Code / Codeless)
• 自前の環境とも通信可能
– 自分のPCと Flow/LogicApps を繋げられる
Dynamics365
Office365
Microsoft Azure
Logic Apps
Flow / PowerApps
Business Personal
• 制限ないコネクタ
• 従量課金と
AppService Plan
の使い分け
• Enterprise Integration
• Azure 監視機能との
統合
• 同一グループへ通知
• 企業内/部門内で
利用する
アプリケーションの
作成
• 個人端末への通知
• スマートフォン
からのボタントリガ
Logic Apps 従量課金プラン
https://azure.microsoft.com/ja-jp/pricing/details/logic-apps/
Microsoft Flow 料金プラン
https://flow.microsoft.com/ja-jp/pricing/
Flow プランでの機能制限
Premium 系コネクタは Plan1 / 2 でのみ利用可能
Office 365 Enterprise F1 だけは特殊で
個人無償アカウントに近い状況となる
Logic Apps/Flow 仕様と制限
LogicApps Flow
最大実行継続時間 90 日 30 日
ストレージリテンション期間 90 日 30 日
最小繰り返し時間 1 秒 1分
最大繰り返し間隔 500 日 500 日
実行履歴保持期間 7~90 日 28 日
ForEach レコード数 100,000 5,000
Loop Until 回数 5,000 5,000
SplitOn 最大数 100,000 5,000
ForEach 並列処理数 初期値 20
最大 50
初期値 1
最大 50
アクション実行数(5分間) 100K / 300K
同時呼出し数 2,500
エンドポイント同時受信数 1,000
エンドポイント読み取り可能呼出し数 60,000
エンドポイント起動可能呼出し数 45,000
5 分あたりのコンテンツスループット 600 MB
LogicApps Flow
1 フローでのアクション数 500 250
1 フローでのネスト数 8 5
1リージョンでのフロー数 1,000 (1,000?)
1 フローごとのトリガ数 10 -
一つの式での最大文字数 8,192 8,192
アクション/トリガ名の文字数 80 80
コメントの文字数 256 256
パラメーター数 50 -
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-
apps-limits-and-config
https://docs.microsoft.com/ja-jp/flow/limits-and-config
Flow:制限事項と構成
LogicApps:制限事項と構成
1 Action
(Trigger)
1 Action
1 Action
1 Flow
Flow の課金単位
LogicApps の課金単位
Enterprise
Integration
SNS
Office365 / Dynamics365
Data Connect
Web Service
Azure Service
Online Storage
Notification
Standard Connecter
Cognitive Service
Button
Approval
Batch
Management
Enterprise
Integration
SNS
Office365 / Dynamics365
Data Connect
Web Service
Azure Service
Online Storage
Notification
Standard Connecter
Cognitive Service
Button
Approval
Batch
Management
239 Connectors
Twitter 上で毎日新規コネクタのチェックを実施中
日曜日には今週追加されたコネクタの統括も
Tweet 中(LogicApps – Batch を利用)
OnPremiss Data Gateway 要 Office365/Flow Premium ライセンス
• ServiceBus(Queue)を介した
オンプレミス環境との接続
• LogicFlow/オンプレミスそれぞれ
ServiceBusに定期的に問合せを行う
(ポーリングしている)
• ファイアウォールは送信のみ設定が
必要な場合がある(受信設定は不要)
ゲートウェイをインストールした
端末から別PCへアクセスは可能
ゲートウェイを通じて同一LANの
サービスにアクセスができる
Logic Apps Arcitechture
LogicApps/Flow アーキテクチャ
Logic Apps RP
Connection
Manager
Logic Apps
Runtime
Connector
Runtime
Logic Apps RP
LogicFlow 構成を読み取り
依存性を加味してタスクを構成
Logic Apps Runtime
各タスクを実行できるよう調整
Connection Manager
API 接続にまつわる部分の管理
Connector Runtime
OpenAPI 仕様に基づく API の
カプセル化
LogicFlow定義
(JSON)
トリガ作成
実行開始
トリガ条件を満たした場合
処理のインスタンスを生成
アクションの
生成/開始
トリガごとに LogicFlow の
インスタンスが生成され
関連データはインスタンス
単位で保持している
マイクロサービスな動作
同種のトリガであっても
状況は個別に保持するため
片方しか挙動しないこともある
新規メールある?
新規メールある?
あるよ!
ないよ!
トリガ・アクションの挙動
x
LogicApps/Flow の
タスクやアクションは
最低一度の実行を保証
何らかの理由で
応答なしな場合は
新しいトリガや
アクションを生成する
How to Create Flow
Logic Apps では
選択 UI がアップデートされ
最初の選択時にコネクタの
大分類で分けて表示される
今後 Flow にも適用される
可能性はそれなりにある
ビルトイン:LogicFlow 基本コネクタ
コネクタ:外部サービス連携コネクタ
Enterprise:ビジネス用コネクタ
(課金が異なる)
カスタム:登録したカスタムコネクタ
トリガもアクションも設置後に削除
して置換えが可能だが
後続のアクションで値を
利用している時は削除できない
(Batch トリガのみ例外で置換不可)
トリガの起動条件
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-workflow-actions-triggers
トリガーに条件設定
を付与してLogicFlow
の開始を限定させる
ことが可能
"triggers": {
"manual": {
"type": "Request",
"kind": "Http",
"inputs": {
"schema": {
},
"method": "POST"
},
"conditions": [
{
"expression": "@equals(empty(triggerBody()), false)"
}
]
}
},
JSON での定義を直接
編集する必要がある
デザイナーから設定
できないがLogicFlow
定義としてサポート
条件判断 / Condition
IF ~ THEN ~ ELSE(条件分岐)
Switch Case(条件多分岐)
Logic Apps では
もう少し構造的に
条件を設定可能
繰り返し / Loop
Do Until ループ
ループが一定時間内に終了しない場合に
タイムアウトとする場合は
ISO 8601 形式でタイムアウト条件を設定
必ずシーケンシャルに動作する
繰り返し / Loop
ForEach ループ
規定では 20 アクションの並列動作
operationOptions:Sequential または
設定から変更可能
ブロック化 / Scope
処理のブロック化
IF コネクタでエラー判定しなくとも
このような形でエラー処理が作成できる
条件判断しなくてもよいケース
Try-Catch-Finally
変数と定数
作成などで用意したものは
値の書き換えは不可
変数だけが値の書き換えが可能
バッチ / Batch
・一定回数呼び出される
・定期的に実行する
・一定量のメッセージを受け取る
などをトリガにして起動できる
内部で特殊な仕組みを構築している
ため、一度設置するとトリガの置き
換えが行えなくなる
(LogicFlow の削除で対応)
演算子 / Operator
.
?
‘
[]
?演算子は特に重要で
値がない事が想定される場合は
必ず使うのがよい
関数 / Workflow Functions
Referencing functions
Collection functions
String functions
Logical functions
Conversion functions
Math functions
Date functions
Workflow functions デザイナ上でインテリセンス等サポートはない
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-workflow-definition-language
Sample. Push Notification API
呼び出すと
自分のスマートフォンに
通知を行う
難しいことを
一切抜きで通知が行える
Sample. Check Github Documents Commit
Github API を利用して
特定リポジトリフォルダに対する
コミット履歴を取得
https://developer.github.com/v3/
HTTP コネクタをトリガに設定
URI で Github API を指定
その際に「前日まで」な条件を
クエリパラメータにて指定
BASIC 認証や OAuth も対応している
Github API は認証未使用でも利用可
※IP アドレス単位でリミットあり
実行結果
まとめ
• サービス間結合が必要なケースに Logic Apps/Flow は最適
• 処理と処理を結合するオーケストレーションも最適
• 自前で処理を行うことは可能であっても不向き
どこまでやるかの線引きは必要
• プログラムを作らなくても対応できるケースが増える
プログラマでなくても作ることができるケースが増える
Logic Apps/Flow に適した開発
• システム間での接続が必要な場面
• 複雑ではない処理で対応できる場面
• 一時的にAPIが必要な場面
• 高頻度のアクセス
• 早い反応速度
• 高パフォーマンス
Appendix
Appendix
• LogicFlow-ja
( https://www.facebook.com/groups/logicflowja/ )
• LogicFlow を扱っている Blog
– nrjlog ( http://zuvuyalink.net/nrjlog/ )
– てすとぶろぐ ( http://blogahf.blogspot.jp/ )
• Azure LogicApps
( https://blogs.msdn.microsoft.com/logicapps/ )
• Flow – Blog
(https://flow.microsoft.com/en-us/blog/)
• PowerApps – Blog
(https://powerapps.microsoft.com/en-us/blog/)
• Twitter Hashtag
– LogicApps → #LogicApps
– Flow → #MicrosoftFlow

More Related Content

PPTX
Data Orchestration with LogicFlow
PPTX
20180721 First Challenge Logicflow
PPTX
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
PPTX
codeless/serverless develop
PDF
Backlogでの Perlのつかいかた
PPTX
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
PDF
Kafka Connect(Japanese)
PPTX
祝 top-level project Apache Geode
Data Orchestration with LogicFlow
20180721 First Challenge Logicflow
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
codeless/serverless develop
Backlogでの Perlのつかいかた
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
Kafka Connect(Japanese)
祝 top-level project Apache Geode

What's hot (10)

PPTX
Wagby on Cloud Foundry
PDF
20210129 azure webapplogging
PPTX
20170624 interact2017 open shift on azure
PDF
CFの便利機能を他の環境でも。Open Service Broker
PDF
Jslug2 nagoya-shibata
PDF
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
PDF
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
PPTX
Circle of Code with Cloud Foundry
PPTX
Myfirst buildpack session_mgmt_20161201
PDF
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
Wagby on Cloud Foundry
20210129 azure webapplogging
20170624 interact2017 open shift on azure
CFの便利機能を他の環境でも。Open Service Broker
Jslug2 nagoya-shibata
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
[BA06] 50 分で総まとめ! Office 365 開発プラットフォーム最新機能のおさらい
Circle of Code with Cloud Foundry
Myfirst buildpack session_mgmt_20161201
[DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
Ad

Similar to 20180929 lowcode developlogicflow (20)

PPTX
1st step LogicFlow
PPTX
LogicFlow 概要
PPTX
20180616 to takepartflow
PPTX
20181215 PowerApps + Flow Handson
PDF
CodelessDevelop using iPaas
PPTX
はじめよう!PowerAppsキホンのキ kintone × Microsoft Flow / Logic Appsの話
PPTX
20181120 HowtoFlow
PPTX
20180630 data transformationusinglogicflow
PPTX
20180421 environment managewithlogicflow
PDF
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
PDF
スグにできる!Microsoft Flow でこんな連携あんな連携
PDF
Prd011 ノンコーディング
PPTX
Flow を使って効率的にデータを集めたその後は Power BI に繋げよう
PPTX
ノンコーディングでやってみよう!Logic Appsのすゝめ
PDF
Microsoft Flow みんな大好き承認ワークフロー
PPTX
【Logic Apps編】ノンコーディングでデキる!お問い合わせフォーム機能拡張
PPTX
PowerApps による初めてのアプリ開発
PDF
PowerApps+Flow+Azureで作れるノンコーディングのIoTソリューション_IoTビジネス共創ラボ 第8回勉強会
PPTX
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
PDF
Microsoft Flow で作る承認ワークフロー
1st step LogicFlow
LogicFlow 概要
20180616 to takepartflow
20181215 PowerApps + Flow Handson
CodelessDevelop using iPaas
はじめよう!PowerAppsキホンのキ kintone × Microsoft Flow / Logic Appsの話
20181120 HowtoFlow
20180630 data transformationusinglogicflow
20180421 environment managewithlogicflow
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
スグにできる!Microsoft Flow でこんな連携あんな連携
Prd011 ノンコーディング
Flow を使って効率的にデータを集めたその後は Power BI に繋げよう
ノンコーディングでやってみよう!Logic Appsのすゝめ
Microsoft Flow みんな大好き承認ワークフロー
【Logic Apps編】ノンコーディングでデキる!お問い合わせフォーム機能拡張
PowerApps による初めてのアプリ開発
PowerApps+Flow+Azureで作れるノンコーディングのIoTソリューション_IoTビジネス共創ラボ 第8回勉強会
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
Microsoft Flow で作る承認ワークフロー
Ad

More from Tomoyuki Obi (19)

PPTX
それは本当にAutomate? 改めて考えるPower Automate
PPTX
Only Logic Apps
PPTX
This is iPaas
PPTX
Miniacs Power Automate
PPTX
Work Automate with Power Automate
PPTX
JSON Value into Power Automate
PPTX
20190727_DevelopUseiPaas
PPTX
Logic Apps/Flow Update Summary
PPTX
decode2019_HandsOn_Flow_04
PPTX
decode2019_HandsOn_Flow_03
PPTX
decode2019_HandsOn_Flow_02
PPTX
decode2019_HandsOn_Flow_01
PDF
20190427 global azurebootcamp
PPTX
Create Bot using LogicApps
PPTX
Develop LINE_BOT with LogicFlow
PDF
Lt 20150711
PDF
Lt tokyoweblab 20150419
PDF
Nawa tech 20150321_lt
PDF
Nawa tech 20150321
それは本当にAutomate? 改めて考えるPower Automate
Only Logic Apps
This is iPaas
Miniacs Power Automate
Work Automate with Power Automate
JSON Value into Power Automate
20190727_DevelopUseiPaas
Logic Apps/Flow Update Summary
decode2019_HandsOn_Flow_04
decode2019_HandsOn_Flow_03
decode2019_HandsOn_Flow_02
decode2019_HandsOn_Flow_01
20190427 global azurebootcamp
Create Bot using LogicApps
Develop LINE_BOT with LogicFlow
Lt 20150711
Lt tokyoweblab 20150419
Nawa tech 20150321_lt
Nawa tech 20150321

20180929 lowcode developlogicflow