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
3
850
Durable Functionsを"公式ドキュメントとは違う形で"話して見る
第13回 Tokyo Jazui Night 2018/07/18
Yu_ka1984
July 18, 2018
Tweet
Share
More Decks by Yu_ka1984
See All by Yu_ka1984
EventGridTopicで手軽にイベントドリブンを手に入れる
yukaabuno
5
1.8k
Durable Functionsの特徴をふわっと理解してみる
yukaabuno
2
160
Xamarin.Forms 使うべき?
yukaabuno
3
1.2k
Xamarin.Forms とコンソールアプリでモデル層を共通化してみた
yukaabuno
0
2.2k
Other Decks in Technology
See All in Technology
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
160
Autify Company Deck
autifyhq
2
44k
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
1
350
無理しない AI 活用サービス / #jazug
koudaiii
0
100
セキュアなAI活用のためのLiteLLMの可能性
tk3fftk
1
340
ポストコロナ時代の SaaS におけるコスト削減の意義
izzii
1
470
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
2
940
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.3k
大量配信システムにおけるSLOの実践:「見えない」信頼性をSLOで可視化
plaidtech
PRO
0
390
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
3
1.1k
LLM拡張解体新書/llm-extension-deep-dive
oracle4engineer
PRO
23
6.3k
TLSから見るSREの未来
atpons
2
310
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Producing Creativity
orderedlist
PRO
346
40k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
The Cult of Friendly URLs
andyhume
79
6.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
340
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Scaling GitHub
holman
460
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
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