Slide 1

Slide 1 text

Durable Func,ons “ J 8” 7 0/30 ( 2 ) 1

Slide 2

Slide 2 text

 • twitter : @yu_ka1984 •  • $ ( • !&" Azure%'  # • Medium  https://medium.com/@yuka1984 • $ http://tamafuyou.hatenablog.com/

Slide 3

Slide 3 text

      

Slide 4

Slide 4 text



Slide 5

Slide 5 text

 

Slide 6

Slide 6 text

   

Slide 7

Slide 7 text

 

Slide 8

Slide 8 text

 

Slide 9

Slide 9 text

   

Slide 10

Slide 10 text

 

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

 • Durable Functions  •  Durable Functions •  

Slide 13

Slide 13 text

 •    • Durable Func-ons  •  

Slide 14

Slide 14 text

   • Azure Functions /  •  "%+(, Durable FunctionsAzure Functions# -*! .Durable Functions( Azure Functions0&$' )& 

Slide 15

Slide 15 text

Durable Functions 4 1. 2 32 4. 2 32 4. 4 . . . 4. 34 . 1. 4. 34 . 13

Slide 16

Slide 16 text

Durable Functions3  • Activity • !  API  DB • Orchestrator • Activity #  Activity$ ! • Starter • Orchestrator "  

Slide 17

Slide 17 text

Activity  h"ps://gist.github.com/yuka1984/4df7d7f8b44357f3d4a4b23be46fdce2

Slide 18

Slide 18 text

Orchestrator  https://gist.github.com/yuka1984/347bead2c0720ab1c4de3e8ca9ea91d 5

Slide 19

Slide 19 text

Starter  https://gist.github.com/yuka1984/42af948abb75892461c2a206f8ff5b87

Slide 20

Slide 20 text

Durable Functions     • (&%# (&%#$ Orchestrator/41+ • '# '#$ Activity/41+ • $!% OrchestratorActivity 1+586; • ((!% 37 Orchestrator 1+9:6;  • "!&! ActivityOrchestrator .*0 ) -, !&! 2<

Slide 21

Slide 21 text

    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 

Slide 22

Slide 22 text

     

Slide 23

Slide 23 text

Durable Funcitons 1. ! ! )&" 2. Azure Functions (' 3.    3%$ #Azure Functions('   Durable Functions

Slide 24

Slide 24 text

     ,1#0-3!/ 2!/)!/ !/?=9 "0*)$2+'2.( &%+'2@>7;8 Durable Functions46.(&%+'25<"0 *)$2+'2:;8  

Slide 25

Slide 25 text

     Durable Functions95 @?36$1'#1 • '*(/#'#1 • ,+";A8:4'#1 • <7%.1 -1'#1 • "!,.!1%"'&'#1 >= )02    http://tamafuyou.hatenablog.com/

Slide 26

Slide 26 text

     '/ ,& ""0+.     ,&%* + $ #) Durable Func,ons-1( !

Slide 27

Slide 27 text

   

Slide 28

Slide 28 text

Azure Functions Azure Func*ons&+ host.jsonFunc*onApp(" !6#) *"   4'2/  • Func*onApp%$(" .Func*on5(",3 ! • Excep*on01- ("  ! • "!6  !

Slide 29

Slide 29 text

Azure Functions Durable Func,onsOrchestrator   ! • CallAc,vityWithRetryAsync • CallSubOrchestratorWithRetryAsync • try-catch-finary

Slide 30

Slide 30 text

     

Slide 31

Slide 31 text

     ≒    

Slide 32

Slide 32 text

if / if else / else / switch

Slide 33

Slide 33 text

for / foreach / while / do-while continue / break linq

Slide 34

Slide 34 text

try-catch / try-finaly / try-catch-finaly

Slide 35

Slide 35 text

CreateTimer

Slide 36

Slide 36 text

WaitForExternalEvent / RaiseEventAsync

Slide 37

Slide 37 text

Task.WhenAll / Task.WhenAny

Slide 38

Slide 38 text

     

Slide 39

Slide 39 text

  KG/).F 1. OrchestratorQ>7D? '%Table

Slide 40

Slide 40 text

Durable Functions  -  - • &' )   $   (* ! •  (* ! • "#%" (* !

Slide 41

Slide 41 text

όοΫΤϯυॲཧΛॊೈʹߗ͘࡞ΕΔ ͦΕ͕ ʮ%VSBCMF'VODUJPOTʯ

Slide 42

Slide 42 text

  Durable Func,ons  

Slide 43

Slide 43 text

    $-/&0 EC +" *# • ). • EC •   ' • 21(, 3% 4 !

Slide 44

Slide 44 text

 7EC&#,%Azure Functions81  !&*" "$.9A=@<  E - !'" 66):0CD2 6 (+;>/?5B 34 Durable Functions

Slide 45

Slide 45 text

 • 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 

Slide 46

Slide 46 text

 ))B Func%ons31.,52H$ 6:@ 8F)(C# %= "&  %w)!A+ www Preview E< 57*GA;?(' -450/>D+  G9 

Slide 47

Slide 47 text



Slide 48

Slide 48 text

 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

Slide 49

Slide 49 text

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 

Slide 50

Slide 50 text

Durable Func,ons  • Application Insights!4: • EventGrid+0Orchestrator)$684: • <9#'(running68Orchestrator &% ! ,1Instance "Orchestrator)$68*;  "   "4: 7 Instance "$-.  FunctionApp35 4:$2 /=

Slide 51

Slide 51 text

Durable Func,ons  • ( 'E6@  KH93 • Orchestrator/; 1@ %!")'#*=  • 27:")'$ • PrecompileFunctions& (ASingletonAttribute A OLE6+0,I- 5M D8

Slide 52

Slide 52 text

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)

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

Durable Func,ons • 2?6"&%( • #'%:@4/ • 7;=:@4/ • 6.  !"$)8* • 39=>9=,<"' 15 *0 -+A 

Slide 56

Slide 56 text

  Github 

Slide 57

Slide 57 text