Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Durable Functionsを"公式ドキュメントとは違う形で"話して見る
Search
Yu_ka1984
July 18, 2018
Technology
900
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Durable Functionsを"公式ドキュメントとは違う形で"話して見る
第13回 Tokyo Jazui Night 2018/07/18
Yu_ka1984
July 18, 2018
More Decks by Yu_ka1984
See All by Yu_ka1984
EventGridTopicで手軽にイベントドリブンを手に入れる
yukaabuno
5
1.8k
Durable Functionsの特徴をふわっと理解してみる
yukaabuno
2
180
Xamarin.Forms 使うべき?
yukaabuno
3
1.2k
Xamarin.Forms とコンソールアプリでモデル層を共通化してみた
yukaabuno
0
2.3k
Other Decks in Technology
See All in Technology
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
570
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
380
V8コントリビュート超入門
riyaamemiya
0
140
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
150
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
2
1.5k
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
3
2.6k
When Does a Local Qwen Start to Break
morshoto
0
180
AIで開発は速くなったのに、なぜ現場は楽にならないのか 〜あなたの組織のボトルネックを突き止めるワークショップ〜
jacopen
1
270
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
3
860
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
360
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
200
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
2
610
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Pragmatic Product Professional
lauravandoore
37
7.4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
The SEO identity crisis: Don't let AI make you average
varn
0
550
Scaling GitHub
holman
464
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Skip the Path - Find Your Career Trail
mkilby
1
220
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
ラッコキーワード サービス紹介資料
rakko
1
4.8M
Transcript
Durable Func,ons “ J 8” 7 0/30 ( 2 )
1
• twitter : @yu_ka1984 • • $ (
• !&" Azure%' # • Medium https://medium.com/@yuka1984 • $ http://tamafuyou.hatenablog.com/
None
• Durable Functions • Durable Functions •
• • Durable Func-ons •
• Azure Functions / •
"%+(, Durable FunctionsAzure Functions# -*! .Durable Functions( Azure Functions0&$' )&
Durable Functions 4 1. 2 32 4. 2 32 4.
4 . . . 4. 34 . 1. 4. 34 . 13
Durable Functions3 • Activity • ! API
DB • Orchestrator • Activity # Activity$ ! • Starter • Orchestrator "
Activity h"ps://gist.github.com/yuka1984/4df7d7f8b44357f3d4a4b23be46fdce2
Orchestrator https://gist.github.com/yuka1984/347bead2c0720ab1c4de3e8ca9ea91d 5
Starter https://gist.github.com/yuka1984/42af948abb75892461c2a206f8ff5b87
Durable Functions • (&%# (&%#$ Orchestrator/41+
• '# '#$ Activity/41+ • $!% OrchestratorActivity 1+586; • ((!% 37 Orchestrator 1+9:6; • "!&! ActivityOrchestrator .*0 ) -, !&! 2<
Starter48G OrchestratorD6 !0'.- +G +*%$"0
+ (#',&)-OrchestratorD6@F !0'.- + +',Orchestrator48G CallAc.vity4852/ +*%$"(Ac.vity?9G1 78E)0 + / +',Orchestrator ;3 Ac.vity4852 Aci.vity52>B(#',&)-@F !0'.- +*%$"0 + !0'.- + +',Orchestrator48G <G CallAc.vity 52: H(#',&)-@F Aci.vity>BI= OrchestratorACallAc.vity4852(ry OrchestratorCJ
Durable Funcitons 1. ! ! )&" 2. Azure Functions ('
3. 3%$ #Azure Functions(' Durable Functions
,1#0-3!/ 2!/)!/ !/?=9 "0*)$2+'2.( &%+'2@>7;8
Durable Functions46.(&%+'25<"0 *)$2+'2:;8
Durable Functions95 @?36$1'#1 • '*(/#'#1
• ,+";A8:4'#1 • <7%.1 -1'#1 • "!,.!1%"'&'#1 >= )02 http://tamafuyou.hatenablog.com/
'/ ,& ""0+.
,&%* + $ #) Durable Func,ons-1( !
Azure Functions Azure Func*ons&+ host.jsonFunc*onApp(" !6#) *" 4'2/
• Func*onApp%$(" .Func*on5(",3 ! • Excep*on01- (" ! • "!6 !
Azure Functions Durable Func,onsOrchestrator ! • CallAc,vityWithRetryAsync •
CallSubOrchestratorWithRetryAsync • try-catch-finary
≒
if / if else / else / switch
for / foreach / while / do-while continue / break
linq
try-catch / try-finaly / try-catch-finaly
CreateTimer
WaitForExternalEvent / RaiseEventAsync
Task.WhenAll / Task.WhenAny
KG/).F 1. OrchestratorQ>7D? '%Table<T 2. A:API'%S 3.
A:API$#L8-(,[XUY 65M=2O Slack I;NV@*&$"RB 4. Slack*&$"HZ -0-& 2M=WA:API $#I; 5. *&$"JY -0-& 65 I;51E 94 65PC(,0 !+04 3M=JY https://gist.github.com/yuka1984/c5779a0e3d070a4c6e2cf72fe46ae41d#file-orchestrator-cs
Durable Functions - - • &' )
$ (* ! • (* ! • "#%" (* !
όοΫΤϯυॲཧΛॊೈʹߗ͘࡞ΕΔ ͦΕ͕ ʮ%VSBCMF'VODUJPOTʯ
Durable Func,ons
$-/&0 EC +" *# • ).
• EC • ' • 21(, 3% 4 !
7EC&#,%Azure Functions81 !&*" "$.9A=@< E - !'"
66):0CD2 6 (+;>/?5B 34 Durable Functions
• AL]APIVE$S "1015= " 89(693 9( ! • MQ,/-,0-$1BGN
2B>0-GN ]API ! • RAPI>?[IK;7'&,1"&6$X , 8.179( ! • VE48:ZUO=d ! • WJ169*'+59$< TH@= ! bc48$)2"Y`D716%]_C " Durable Func4ons$^F# \Ca"P
))B Func%ons31.,52H$ 6:@ 8F)(C# %= "& %w)!A+ www
Preview E< 57*GA;?(' -450/>D+ G9
M oT M m lM D v C B
t a g rG v bifh b M F F wp g cea n us M C
Durable Functions Durable Functions"*1%8/7A<79 59+9 F> =D:(0739)H> ;E@
VSTSC? TaskhubName(Durable Functions,$49IJ ).6*IJLB :.6*-&!$9 ;Azure FunctionsSlot (Preview)(07 %8&0 .6*#%'2GK
Durable Func,ons • Application Insights!4: • EventGrid+0Orchestrator)$684: • <9#'(running68Orchestrator
&% ! ,1Instance "Orchestrator)$68*; " "4: 7 Instance "$-. FunctionApp35 4:$2 /=
Durable Func,ons • ( 'E6@ KH93 • Orchestrator/;
1@ %!")'#*= • 2<NFC.G4B-J?>7:")'$ • PrecompileFunctions& (ASingletonAttribute A OLE6+0,I- 5M D8
Durable Func,ons • !/ • Durable Func-ons),Orchestrator7,!*5 #%7,!3
• Ac-vityDI( Func-ons"& &0. !( • EndToEnd!%$host+ ' func-ons- ( 2(Durable Func-ons!41 6)
Durable Functions • :E@; #*/LAHJMK;= 7I • )/>C3 F;5R 863
B< • Durable FunctionsLA1'+"%D • Durable FunctionsAzure Storage@; PAzure Storage49 O2NG?()-0!,$.&" • V1(.NET Framework)QGA V2Preview
Durable Func,ons AppService or • E>B> • MLK485IO
9 ;6?%$1 "( !2%&2% <7C • AppService+/2%$1 '+ %$1 " ( : )*#,2% JNA • @H-.03LFG=MLK4+/2 JD
Durable Func,ons • 2?6"&%( • #'%:@4/ • 7;=:@4/ • 6.
!"$)8* • 39=>9=,<"' 15 *0 -+A
Github