Durable Functionsを"公式ドキュメントとは違う形で"話して見る

Durable Functionsを"公式ドキュメントとは違う形で"話して見る

第13回 Tokyo Jazui Night 2018/07/18

7737d8f75b4c89a18e330ec81bb5dba8?s=128

Yu_ka1984

July 18, 2018
Tweet

Transcript

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

    1
  2.  • twitter : @yu_ka1984 •  • $ (

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

  4. 

  5.  

  6.    

  7.  

  8.  

  9.    

  10.  

  11. None
  12.  • Durable Functions  •  Durable Functions •

     
  13.  •    • Durable Func-ons  •

     
  14.    • Azure Functions /  • 

    "%+(, Durable FunctionsAzure Functions# -*! .Durable Functions( Azure Functions0&$' )& 
  15. Durable Functions 4 1. 2 32 4. 2 32 4.

    4 . . . 4. 34 . 1. 4. 34 . 13
  16. Durable Functions3  • Activity • !  API 

    DB • Orchestrator • Activity #  Activity$ ! • Starter • Orchestrator "  
  17. Activity  h"ps://gist.github.com/yuka1984/4df7d7f8b44357f3d4a4b23be46fdce2

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

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

  20. Durable Functions     • (&%# (&%#$ Orchestrator/41+

    • '# '#$ Activity/41+ • $!% OrchestratorActivity 1+586; • ((!% 37 Orchestrator 1+9:6;  • "!&! ActivityOrchestrator .*0 ) -, !&! 2<
  21.     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 
  22.      

  23. Durable Funcitons 1. ! ! )&" 2. Azure Functions ('

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

    Durable Functions46.(&%+'25<"0 *)$2+'2:;8  
  25.      Durable Functions95 @?36$1'#1 • '*(/#'#1

    • ,+";A8:4'#1 • <7%.1 -1'#1 • "!,.!1%"'&'#1 >= )02    http://tamafuyou.hatenablog.com/
  26.      '/ ,& ""0+.  

      ,&%* + $ #) Durable Func,ons-1( !
  27.    

  28. Azure Functions Azure Func*ons&+ host.jsonFunc*onApp(" !6#) *"   4'2/

     • Func*onApp%$(" .Func*on5(",3 ! • Excep*on01- ("  ! • "!6  !
  29. Azure Functions Durable Func,onsOrchestrator   ! • CallAc,vityWithRetryAsync •

    CallSubOrchestratorWithRetryAsync • try-catch-finary
  30.      

  31.      ≒    

  32. if / if else / else / switch

  33. for / foreach / while / do-while continue / break

    linq
  34. try-catch / try-finaly / try-catch-finaly

  35. CreateTimer

  36. WaitForExternalEvent / RaiseEventAsync

  37. Task.WhenAll / Task.WhenAny

  38.      

  39.   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
  40. Durable Functions  -  - • &' ) 

     $   (* ! •  (* ! • "#%" (* !
  41. όοΫΤϯυॲཧΛॊೈʹߗ͘࡞ΕΔ ͦΕ͕ ʮ%VSBCMF'VODUJPOTʯ

  42.   Durable Func,ons  

  43.     $-/&0 EC +" *# • ).

    • EC •   ' • 21(, 3% 4 !
  44.  7EC&#,%Azure Functions81  !&*" "$.9A=@<  E - !'"

    66):0CD2 6 (+;>/?5B 34 Durable Functions
  45.  • 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 
  46.  ))B Func%ons31.,52H$ 6:@ 8F)(C# %= "&  %w)!A+ www

    Preview E< 57*GA;?(' -450/>D+  G9 
  47. 

  48.  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
  49. 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 
  50. Durable Func,ons  • Application Insights!4: • EventGrid+0Orchestrator)$684: • <9#'(running68Orchestrator

    &% ! ,1Instance "Orchestrator)$68*;  "   "4: 7 Instance "$-.  FunctionApp35 4:$2 /=
  51. Durable Func,ons  • ( 'E6@  KH93 • Orchestrator/;

    1@ %!")'#*=  • 2<NFC.G4B-J?>7:")'$ • PrecompileFunctions& (ASingletonAttribute A OLE6+0,I- 5M D8
  52. 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)
  53. 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
  54. 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
  55. Durable Func,ons • 2?6"&%( • #'%:@4/ • 7;=:@4/ • 6.

     !"$)8* • 39=>9=,<"' 15 *0 -+A 
  56.   Github 

  57.