SlideShare a Scribd company logo
Codeless / Serverless Flow Develop
2017/10/07
小尾 智之
Self Introduction
Attribute1: VB / LogicApps-Flow-PowerApps
@twit_ahf
Attribute2: 提督 / 殿 / メガネ / クマ / プロレス / もっふり
tomoyuki.obi http://el.jibun.atmarkit.co.jp/ahf/
Community: LogicFlow-ja / CLR/H
Microsoft MVP for Microsoft Azure(2017.03 ~)
https://www.facebook.com/groups/logicflowja/
Agenda
• LogicFlow とは
– LogicFlow 基本機能
– LogicFlow の各機能
• LogicFlow による API サーバー構築
トリガ
アクション
LogicFlow の基本形
イベントをトリガで受け取り
後続のアクションで処理を
行うサーバーレスなもの
LogicApps 従量課金プラン
LogicApps AppService プラン
https://azure.microsoft.com/ja-jp/pricing/details/logic-apps/
Flow とは課金単位が異なる
LogicApps 新従量課金プラン
現在は一部リージョン限定
LogicApps 仕様と制限
最大実行継続時間 90 日
ストレージリテンション期間 90 日
最小繰り返し時間 1 秒
最大繰り返し間隔 500 日
ForEach レコード数 100,000
Loop Until 回数 5,000
SplitOn 最大数 100,000
ForEach 並列処理数 20
アクション実行数(5分間) 100,000
同時呼出し数 2,500
エンドポイント同時受信数 1,000
エンドポイント読み取り可能呼出し数 60,000
エンドポイント起動可能呼出し数 45,000
ワークフローでのアクション数 250
ワークフロー内部でのネスト数 5
1リージョンでのワークフロー数 1,000
ワークフローごとのトリガ数 10
一つの式での最大文字数 8,192
アクション/トリガ名の文字数 80
コメントの文字数 256
パラメーター数 50
Microsoft Flow 料金プラン
1 ユーザー 25 LogicFlow が定義可能
(リクエスト送付で拡張可能)https://flow.microsoft.com/ja-jp/pricing/
Flow プランでの機能制限
Premium 系コネクタは Plan1 / 2 でのみ利用可能
PowerApps 料金プラン
https://powerapps.microsoft.com/ja-jp/communityplan/
PowerApps コミュニティプラン
既にアカウントを所有していても作成可能
Enterprise Integration
SNS
Office365 / Dynamics365
Data Connect
Web Service
Azure Service
Online Storage
Notification
Standard Connecter
Cognitive Service
Button
Approval Batch
Enterprise Integration
SNS
Office365 / Dynamics365
Data Connect
Web Service
Azure Service
Online Storage
Notification
Standard Connecter
Cognitive Service
Button
Approval Batch
LogicApps Only
Enterprise Integration
SNS
Office365 / Dynamics365
Data Connect
Web Service
Azure Service
Online Storage
Notification
Standard Connecter
Cognitive Service
Button
Approval Batch
Flow Only
Commin soon・・・?
LogicFlow 基本コネクタ
スケジュール
OpenAPI(Swagger) 定義された
API 呼出
HTTPS リクエスト
RSSFTP/SFTP
HTTP/HTTPS
WebHook
Mail(SendGrid)
SMTP
変数
制御HTTP レスポンス
データ操作
PowerApps
プッシュ通知
Flow Button
HTML-テキスト変換
PowerApps用プッシュ通知
条件判断 / Condition
IF ~ THEN ~ ELSE(条件分岐)
Switch Case(条件多分岐)
繰り返し / Loop
Do Until ループ
ループが一定時間内に終了しない場合に
タイムアウトとする場合は
ISO 8601 形式でタイムアウト条件を設定
繰り返し / Loop
ForEach ループ
規定では 20 アクションの並列動作
operationOptions:Sequential で変更可能
デザイナ上だけで
ネストしたループも作成可能
ブロック化 / Scope
処理のブロック化
実行条件の構成 / RunAfter
ブロック化した場合は
「ブロック内部の処理が何か一つでも失敗したら」
という条件で利用できる
並列分岐 / RunAfter(2)
デザイナー上から
並列動作させるアクションを直接設定可能
RunAfter 設定を変更し
どのコネクタの後に実行するかを
設定している
変数/ Variables
初期化を先に実施する必要がある
データ操作 / Compose
関数で行っていたものが
コネクタ化され簡易に利用可能
inputArguments.Select(Function(x)
Return New With {Key x.orgArg1,
Key x.orgArg2,
Key Sum(x.orgArg3)}
End Function).ToArray
選択/ Selecct
配列オブジェクトの再定義
再試行ポリシー/ Retry Policy
動作エラーになったものを
何回(Limit)
どの程度の間隔で(Duration)
再実行するかを設定
CodeView 上で LogicFlow を直接記載
デザイナーでは未サポート
動作自体は問題なく可能
マルチトリガ / Multi Trigger
演算子 / 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
CodeView および関数ダイアログ上でサポートあり
Workflow Functions の書き方
最初の関数のみ @ をつける必要がある
文字列は ‘ でのみ囲める
デザイナー上で記載する場合は「詳細設定」
LogicApps なら CodeView で記載するのを活用
Workflow Functions のコネクタ対応
一部関数はコネクタとして提供も行っている
Develop API Server with LogicFlow
Request コネクタ
SAS 付の URL が自動生成される
POST 以外の動詞も可能
相対パスを設定が可能
クエリパラメータが可能
受け取る JSON データの
スキーマを指定
@triggerOutputs() 関数にて呼出時に付与されていた
クエリパラメータを取得できる
HTTP Request トリガにおけるクエリパラメータ
@triggerOutputs()['queries']['test1']
などでパラメータを利用可能
Request コネクタの問題点
SAS 付 URL のためアクセスできれば誰でも利用可能
生成される URL がいかにも Azure な URL
LogicFlow 自体にユーザー認証の
仕組みは提供されていない
ユーザー認証がない
Function Apps Proxy と API Management Services
どちらも LogicFlow を呼び出す
プロキシとして利用可能
Function Apps Proxy
プレビュー機能のため
Function Settings で有効にする
特定のメソッドで呼び出された際に
API を呼び出すことが可能
App Service 認証を利用して
API のユーザー認証が可能
AAD や MS アカウントの MS サービスや
Twitter や Google アカウントなどの外部
サービスも利用可能
利用条件の表示や匿名ユーザー対応など
Function Apps Proxy より細かい対応が可能
API Management でのユーザー認証
OAuth2.0 や OpenID を利用して
外部プロバイダでの認証も可能
Function Apps Proxy のカスタムドメイン設定
SSL も利用可能
http://blogahf.blogspot.jp/2017/07/azure-function-apps-proxies-ssl.html
API Management は高機能なだけに
価格も高レベル・・・
LogicApps のセキュリティ
LogicFlow にアクセスできる
IP アドレスの制限を指定可能
LogicApps の呼び出し元 IP アドレス
LogicAppsからアクセスした
場合の IP アドレス
Log Analytics
細かい設定なしで LogicApps のログ情報を
OMS へと連携が可能
Azure API Apps
同一サブスクリプション上に
ある API Apps を呼出可能
トリガ/アクション
両方を利用可能
OpenAPI
API Apps での OpenAPI(Swagger)設定
によりダイアログでの表示など
カスタマイズ可能
メソッドなどへ属性を付与してデザイナ上の表示を指定
T-Rex ライブラリも利用可能(https://github.com/nihaue/TRex)
[HttpPost, Route]
[Metadata("Create Message", "Creates a new message absolutely nowhere")]
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(SampleOutputMessage))]
public async Task<IHttpActionResult> Post([FromBody]
[Metadata("Sample Input", "A sample input message")]
SampleInputMessage sampleInput)
{
return await SampleOutputMessage.FromInputAsync(sampleInput);
}
参考)https://flow.microsoft.com/ja-jp/documentation/customapi-how-to-swagger/
Azure Function App
LogicFlow デザイナー上で
直接 FunctionApp を記述可能
(ただし js のみ)
Azure Functions App にほしい
トリガーがない場合
LogicApps のトリガでトラップし
Functions App を呼び出す
カスタムコネクタ
既存 API 定義を簡易に利用できるように
カスタムコネクタとして登録可能
Hybrid Connection
(ServiceBus – Relay)
OnPremiss Data Gateway
(ServiceBus – Queue)
OnPremiss DataGateway
対象コネクタ
DataGateway はメッセージを
ポーリングする方式でやり取りを行う
(リアルタイム性は若干落ちる)
•ルートフォルダ:接続先 PC でのローカルパス
(共有はかけなくても大丈夫)
•認証タイプ:Windows 認証
•ユーザー名:(マシン名)¥(アカウント) を入力
AD アカウントではないので注意!
•パスワード:パスワードを入力
•ゲートウェイ:インストールしたゲートウェイを選択
DataGateway 利用ポート
TCP 443 (既定値) / 5671 / 5672 / 9350 ~ 9354
データ送信のみで受信は必要ない
HTTPS を強要する場合は config ファイルの書き換えかインストーラから設定
https://msdn.microsoft.com/ja-jp/library/hh169248(v=nav.90).aspx
SQL Database コネクタによる取得
SQL 文を直接記載することはできないが
Odata Expression による記述が可能
Others…
フロントプロキシ
インフラ
オンプレミス
Azure や他サービス
Microsoft サービス
LogicApps の高可用性対応
API Management リダイレクト先の調整
ServiceBus メッセージング形式の構築
Hot-Cold 的に構築
動作中のリージョンで障害発生時に
COLD 側へ切り替えさせる
(ARM 操作で可能)
常に全てのリージョンで動作するよう構築
LogicApps の課金としては変化なし
(トリガで対象データなしは無課金)
LogicApps Ludicrous Mode
高パフォーマンス用 LogicApps
16ユニット以上の構成
高スケール対応が可能
LogicApps 上に仕込みは済んでいるので
そう遠くない時期に公開予定
Let’s develop without coding,
and Welcome to Serverless !
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
LogicFlow 概要
PDF
Azure Functions 入門
PPTX
できる!サーバレスアーキテクチャ
PPTX
20180929 lowcode developlogicflow
PPTX
Clrh 20121215
PPTX
SharePoint 2010 を使ったクラウドアプリ開発
PDF
Streaming API で実現する クラウド ⇔ イントラ連携
PDF
Power app custom api v0.1.21.1221
LogicFlow 概要
Azure Functions 入門
できる!サーバレスアーキテクチャ
20180929 lowcode developlogicflow
Clrh 20121215
SharePoint 2010 を使ったクラウドアプリ開発
Streaming API で実現する クラウド ⇔ イントラ連携
Power app custom api v0.1.21.1221

What's hot (10)

PPTX
機械学習基盤として活用するAutonomous Database
PDF
Rest ful api設計入門
PDF
社内システムの構造と設計、実装のはなし(下書きバージョン)
PDF
JJUG 11月ナイトセミナー CDIをはじめよう
PPTX
Workshop1-01
PPTX
120331 silverlight5新機能早めぐり
PPTX
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
PPTX
Engineer is Hero !! DevOps MSA and AI
PPTX
Azure Container Services and Microservices design pattern
PPTX
Swagger jjug ccc 2018 spring
機械学習基盤として活用するAutonomous Database
Rest ful api設計入門
社内システムの構造と設計、実装のはなし(下書きバージョン)
JJUG 11月ナイトセミナー CDIをはじめよう
Workshop1-01
120331 silverlight5新機能早めぐり
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Engineer is Hero !! DevOps MSA and AI
Azure Container Services and Microservices design pattern
Swagger jjug ccc 2018 spring
Ad

Viewers also liked (20)

PPTX
Love Cloud: 28 June 2017
PDF
AI = SE , giip system manage automation with A.I
PDF
The Loss of HMAS SYDNEY 2: Medical Aspects- Westphalen
PPT
15 oefeningen schakelen van weerstanden
PPTX
Evolving your automation with hybrid workers
PDF
5733 a deep dive into IBM Watson Foundation for CSP (WFC)
PPTX
AWS Summit - Trends in Advanced Monitoring for AWS environments
PDF
Legrand Group Belgium - Brochure Sfera
PDF
Brown Bag Lunch sur Hazelcast
PDF
Collaboration with Eclipse final
PDF
What's new in Hortonworks DataFlow 3.0 by Andrew Psaltis
PPTX
Digital transformation - DevOps Day - 02/02/2017
PDF
Intel and Big Data
PDF
C1 keynote creating_your_enterprise_cloud_strategy
PPTX
How OpenTable uses Big Data to impact growth by Raman Marya
PPTX
2017 GRESB Real Estate Results - The Netherlands
PPT
Understanding Camouflage
PDF
Julie Van den Steen en Maarten Verhulst richten firma op
PDF
Sensors For The Lab & For Manufacturing: Early Adventures in IoT
PDF
'Living Lab' for HCI - presentation made at HCI International 2009
Love Cloud: 28 June 2017
AI = SE , giip system manage automation with A.I
The Loss of HMAS SYDNEY 2: Medical Aspects- Westphalen
15 oefeningen schakelen van weerstanden
Evolving your automation with hybrid workers
5733 a deep dive into IBM Watson Foundation for CSP (WFC)
AWS Summit - Trends in Advanced Monitoring for AWS environments
Legrand Group Belgium - Brochure Sfera
Brown Bag Lunch sur Hazelcast
Collaboration with Eclipse final
What's new in Hortonworks DataFlow 3.0 by Andrew Psaltis
Digital transformation - DevOps Day - 02/02/2017
Intel and Big Data
C1 keynote creating_your_enterprise_cloud_strategy
How OpenTable uses Big Data to impact growth by Raman Marya
2017 GRESB Real Estate Results - The Netherlands
Understanding Camouflage
Julie Van den Steen en Maarten Verhulst richten firma op
Sensors For The Lab & For Manufacturing: Early Adventures in IoT
'Living Lab' for HCI - presentation made at HCI International 2009
Ad

Similar to codeless/serverless develop (20)

PPTX
1st step LogicFlow
PPTX
20180721 First Challenge Logicflow
PDF
CodelessDevelop using iPaas
PPTX
20181215 PowerApps + Flow Handson
PPTX
20180616 to takepartflow
PPTX
Data Orchestration with LogicFlow
PPTX
20180630 data transformationusinglogicflow
PPTX
20181120 HowtoFlow
PPTX
20180421 environment managewithlogicflow
PPTX
はじめよう!PowerAppsキホンのキ kintone × Microsoft Flow / Logic Appsの話
PDF
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
PPTX
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
PDF
スグにできる!Microsoft Flow でこんな連携あんな連携
PPTX
Flow を使って効率的にデータを集めたその後は Power BI に繋げよう
PDF
Microsoft Flow みんな大好き承認ワークフロー
PPTX
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
PPTX
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
PPTX
【Logic Apps編】ノンコーディングでデキる!お問い合わせフォーム機能拡張
PPTX
Only Logic Apps
PDF
Microsoft Flow で作る承認ワークフロー
1st step LogicFlow
20180721 First Challenge Logicflow
CodelessDevelop using iPaas
20181215 PowerApps + Flow Handson
20180616 to takepartflow
Data Orchestration with LogicFlow
20180630 data transformationusinglogicflow
20181120 HowtoFlow
20180421 environment managewithlogicflow
はじめよう!PowerAppsキホンのキ kintone × Microsoft Flow / Logic Appsの話
[BA11] Office 365/Dynamics 365 連携だけじゃない! 業務に使うマルチデバイスアプリ作成に向けた PowerApps/Flow...
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
スグにできる!Microsoft Flow でこんな連携あんな連携
Flow を使って効率的にデータを集めたその後は Power BI に繋げよう
Microsoft Flow みんな大好き承認ワークフロー
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
【Logic Apps編】ノンコーディングでデキる!お問い合わせフォーム機能拡張
Only Logic Apps
Microsoft Flow で作る承認ワークフロー

More from Tomoyuki Obi (18)

PPTX
それは本当にAutomate? 改めて考えるPower Automate
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
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

codeless/serverless develop