ã¯ããã«
ä»åã¯ãããŸããŸã€ãã³ãããã£ããã«ã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããAzure FunctionsãšãWebJobsãšãã2ã€ã®ãµãŒãã¹ã䜿ã£ãŠãã€ãã³ãé§åã¢ããªã±ãŒã·ã§ã³ã®äœãæ¹ãåæ¹ã®éãã2åã«åããŠèŠãŠãããããšæããŸããä»åã¯Azure Functionsã«ã€ããŠèª¬æããã¢ããªã±ãŒã·ã§ã³ãäœæããŠãããŸãã
ããã§èšãã€ãã³ããšã¯ãã·ã¹ãã ãã¢ããªã±ãŒã·ã§ã³äžã§æ¥ã
çºçããŠãã以äžã®æ§ãªåºæ¥äºã®ããšãæããŸãã
ã»ãã¡ã€ã«ãäœæã»ã¢ããããŒãããã
ã»ãã¥ãŒã«ã¡ãã»ãŒãžã远å ããã
ã»å¥ã·ã¹ãã ããHTTPãªã¯ãšã¹ããåä¿¡ãã
ã»IoT端æ«ããããŒã¿ãåä¿¡ãã
ã»ããæ¥æã«ãªã£ã
ã€ãã³ãé§åã¢ããªã±ãŒã·ã§ã³ã¯ãããã®ã€ãã³ããåŠçéå§ã®ãã£ããïŒããªã¬ãŒïŒãšããŠå®çŸ©ãã圢åŒã®ã¢ããªã±ãŒã·ã§ã³ã§ãã
æ€èšŒç°å¢
ã»Firefox 54
ã»Google Chrome 59
Azure Functionsãšã¯
Azure Functionsãšã¯ãããŸããŸã€ãã³ãã«ãã£ãŠé§åããåŠçã颿°ãšããŠå®çŸ©ããŠãAzureã®ã¯ã©ãŠãç°å¢äžã§å®è¡ãããã©ãããã©ãŒã ã§ãã
ã€ãã³ãã«ã¯ããã¥ãŒã¡ãã»ãŒãžããã¡ã€ã«ã®äœæãã¹ã±ãžã¥ãŒã«ãHTTPïŒwebhookïŒãªã©ãå«ãŸããŸãã Azure Functionsã¯ãå©çšã«ãããèªåã§ãµãŒããæ§ç¯ããã管çãããããå¿ èŠããªãããããµãŒãã¬ã¹ã¢ãŒããã¯ãã£ãã®ãµãŒãã¹ãšããŠåé¡ããããšãã§ããŸãïŒïŒïŒã
ïŒïŒãã ããå®éã¯PaaSã®ã¢ããªã±ãŒã·ã§ã³ãµãŒãã§ããApp Serviceãèªåçã«æ§ç¯ããããã®äžã§ãFunction Appããšããã¢ããªåœ¢æ ã§Functionsãæ§ç¯ãããŠããããããããŸã§å©çšè èŠç¹ã§èŠããšãµãŒãã¬ã¹ã§ãããšããæå³åãã«ãªããŸãã
Azure Functionsã®æ§æèŠçŽ
Azure Functionsã§äœæããåŠçã®ããšãã颿°ããšåŒã³ãŸãã颿°ã¯ãããªã¬ãŒããšããã€ã³ãããšåŒã°ãã2ã€ã®æŠå¿µãçµã¿åãããŠåŠçãäœæããŸãã
ããªã¬ãŒã¯é¢æ°ã®åŠçãéå§ããããã®æ¡ä»¶ãšãªããã®ã§ãäžè¿°ããã€ãã³ããããã«è©²åœããŸãã颿°ã«ã¯ãå¿ ã1ã€ã®ããªã¬ãŒãå®çŸ©ããå¿ èŠããããŸãããŸã颿°ã¯ãåŠçå éšã§ããªã¬ãŒã«çŽä»ããããŒã¿ãåç §ããããšãã§ããŸããäŸãã°ãã¡ã€ã«äœæã€ãã³ããããªã¬ãŒãšããå Žåã¯ãäœæããããã¡ã€ã«ã®ããŒã¿ããã¡ã€ã«åãåç §ã§ããŸãã
ãã€ã³ãã«ã¯å ¥åãã€ã³ããšåºåãã€ã³ãããããããŒã¿ã®å ¥åå ãšåºåå ã®æ¥ç¶æ å ±ããããããå®çŸ©ããããšã§ã颿°ã®ã³ãŒãäžã§å ¥åå ãåºåå ãšã®æ¥ç¶ã®ããã®å®è£ ãèšè¿°ããããšãªãããŒã¿ãå ¥åºåã§ããããã«ãªããŸãã å ¥åãã€ã³ãã¯ããªã¬ãŒä»¥å€ã§åç §ãããããŒã¿ãããå Žåã«äœ¿çšããŸãããã€ã³ãã¯è€æ°å®çŸ©ããããšããçç¥ããããšãå¯èœã§ãã
颿°ã¯ãC#ãF#ãNode.jsãPythonãPHPãBatchãBashãªã©ã®èšèªããéžãã§èšè¿°ã§ããŸãããã©ãŠã¶äžã§ã³ãŒãã£ã³ã°ããŠãã®ãŸãŸå®è¡ããã¹ããŸã§è¡ãããããéåžžã«ç°¡åã«çŽ æ©ãããããããšãå®çŸããããšãã§ããããšãé åã®äžã€ã§ãã
Azure Functionsã®æéäœç³»
æéäœç³»ã¯2çš®é¡ã«åãããŠããŸãã1ã€ç®ã®ãåŸé課éãã©ã³ãã¯ã颿°ãå®è¡ããã床ã«èª²éãçºçãããã©ã³ã§ãã颿°ã®å®è¡åæ°ãšãå®è¡ãã颿°ã䜿çšããã¡ã¢ãªãšå®è¡æéãæãããã®ã®åèšã§éé¡ã決å®ããŸãããŸããåŸé課éãã©ã³ã§ã¯ããªãœãŒã¹ã®ã¹ã±ãŒã«ãèªåçã«è¡ãããŸãã倧éãªã¯ãšã¹ãçºçæã®ã¹ã±ãŒã«ã¢ããã»ã¢ãŠãããã®åŸã®ã¹ã±ãŒã«ããŠã³ã»ã€ã³ãèªåã§å®çŸ©ãããšãAzureãèªåçã«è¡ã£ãŠãããŸãã詳现ãªäŸ¡æ Œã«é¢ããŠã¯ãAzure Functionsã®äŸ¡æ ŒããŒãžãåç §ããŠãã ããã
ãã1ã€ã®ãApp Service ãã©ã³ãã¯ãApp Serviceã®ãªãœãŒã¹äžã§Functionsãå®è¡ããããšãã§ãããã©ã³ã§ãããã®ãããApp Serviceã§å¥çŽãããªãœãŒã¹ïŒCPUãã¡ã¢ãªãã€ã³ã¹ã¿ã³ã¹æ°ïŒã®äžéãŸã§ã«å¶éããŠé¢æ°ãå®è¡ããŸãããªãœãŒã¹ã®ã¹ã±ãŒã«ãã³ã³ããŒããŒã«ãããã£ããæéãäžå®ã«ä¿ã¡ããå Žåã¯ãã¡ãã®ãã©ã³ãéžæããŸããApp Service ãã©ã³ã®äŸ¡æ Œã«ã€ããŠã¯ãApp Serviceã®äŸ¡æ ŒããŒãžãåç §ããŠãã ããã
Azure Functionsã§ã¿ã€ããŒèµ·åã®é¢æ°ãäœã
ããã§ã¯ããããã¯ãFunctionsã§é¢æ°ãäœæããŠãããŸããä»åã¯5åééã§èµ·åããŠå®è¡æå»ãã³ã³ãœãŒã«ã«åºåãã颿°ã¢ããªããFunctionsã®ã¯ã€ãã¯ã¹ã¿ãŒãæ©èœã䜿ã£ãŠç°¡åã«äœæã»å®è¡ã§ãããšãããŸã§è¡ã£ãŠãããŸãã
Function Appã®äœæ
ãŸãã¯é¢æ°ã®å®è¡ç°å¢ãšãªãFunction AppãäœæããŠãããŸãã AzureããŒã¿ã«ã®å·ŠåŽã¡ãã¥ãŒãã[æ°èŠ(+ããŒã¯)] - [Compute] - [Function App]ãšé²ã¿ãŸããFunction Appã®æ°èŠäœæç»é¢ã衚瀺ãããããå¿ é é ç®ãå ¥åããŠãããŸãã
ã¢ããªåããµãã¹ã¯ãªãã·ã§ã³ããªãœãŒã¹ã°ã«ãŒãã®èšå®
ã¢ããªåã¯ç®¡çãããããããããããããååãèšå®ããŠäžããããµãã¹ã¯ãªãã·ã§ã³ã¯ç¡æè©ŠçšçãåŸé課éãªã©ãAzureã«èšå®ããŠãããã®ãéžæããŸãã
ãã¹ãã£ã³ã°ãã©ã³ãå Žæã®èšå®
ãã¹ãã£ã³ã°ãã©ã³ã«ã€ããŠã¯å çšèª¬æãããåŸé課éãã©ã³ããšãApp Service ãã©ã³ããããçšéã«ãã£ããã©ã³ãéžæããŸããæ¬èšäºã§ã¯ããµã³ãã«ãäœæããŠåäœç¢ºèªãããã ãã§ãã®ã§åŸé課éãã©ã³ãéžæããŸããæ¢ã«App Serviceãã䜿ãã«ãªã£ãŠããå Žåã¯App Service ãã©ã³ãéžæããŠãæ§ããŸãããåŸé課éãã©ã³ãéžæããå Žåã¯ã次ã«å ŽæïŒã¢ããªãé 眮ãããããŒã¿ã»ã³ã¿ãŒã®å ŽæïŒãéžæããŸããApp Service ãã©ã³ãéžæããå Žåã¯App Service ãã©ã³ã®äœææã«å Žæãæ±ºãŸã£ãŠãããããããã«ã¯è¡šç€ºãããŸããã
StorageãApplication Insightsã®èšå®
Storageã¯å®è¡ãã颿°ã®ãã°çãä¿åããã®ã«äœ¿çšããŸããåŸé課éãã©ã³ã®å Žåã¯ãäœæãã颿°ã®ã³ãŒãããããã§éžæããã¹ãã¬ãŒãžã«ä¿åãããŸããæ¢åã®ã¹ãã¬ãŒãžãããã°ãããããªããã°æ°èŠäœæããŸããApplication Insightsã¯ãã°ããªãœãŒã¹æ å ±ãåæããããã®Azureã®ãµãŒãã¹ã§ãããä»åã¯ãªãã«ããŸãã
以äžãèšå®ã§ãããã[äœæ]ãã¿ã³ãã¯ãªãã¯ããŸãããã°ãããããšFunctions AppãäœæãããŸãã
ã¿ã€ããŒèµ·å颿°ã®äœæ
Function AppäœæåŸããã®ãŸãŸFunction Appã®ç»é¢ã«é·ç§»ããŠããããšæããŸãããã衚瀺ãããŠããªãã£ãããå¥ã®ç»é¢ã«é·ç§»ããŠããŸã£ãå Žåã¯ãAzureããŒã¿ã«ã®å·ŠåŽã¡ãã¥ãŒãããFunction AppããéžæããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒããã颿°ãäœæ
ç»é¢å·ŠåŽã«å çšäœæããFunction Appã®ååã衚瀺ãããŠããã®ã§ãã¯ãªãã¯ãããšã¡ãã¥ãŒãå±éãããŸãããã®äžã«ããã颿°ããšããé ç®ã®å³åŽã®ïŒããŒã¯ãã¯ãªãã¯ããŸãããããšé¢æ°äœæã®ããã®ã¯ã€ãã¯ã¹ã¿ãŒãç»é¢ã衚瀺ãããŸããã·ããªãªïŒwebhook+API / ã¿ã€ã㌠/ ããŒã¿åŠçïŒãšèšèªïŒCSharp / JavaScript / FSharpïŒãéžãã§[ãã®é¢æ°ãäœæãã]ãã¯ãªãã¯ãããšãããã«é¢æ°ãäœæãããŸãã
ãªããã¯ã€ãã¯ã¹ã¿ãŒãã«è¡šç€ºãããŠããã·ããªãªã«ã€ããŠã¯ä»¥äžã®æ§ãªçšéã§çšããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒãã«è¡šç€ºãããŠããã·ããªãªã®çšé
| ã·ããªãª | çšé |
|---|---|
| webhook+API | HTTPãªã¯ãšã¹ããWebhookãããªã¬ãŒãšããŠåŠçãå®è¡ãããå Žå |
| ã¿ã€ã㌠| 決ãŸã£ãæéã«å®æçã«åŠçãå®è¡ãããå Žå |
| ããŒã¿åŠç | ã¡ãã»ãŒãžãã¥ãŒã€ã³ã°ãããªã¬ãŒãšããŠåŠçãå®è¡ãããå Žå |
ä»åã¯ã·ããªãªã«ãã¿ã€ããŒããèšèªã«ãCSharpããéžæããŠé¢æ°ãäœæããŠã¿ãŸãã äœæãå®äºãããšãç»é¢äžå€®ã«ã³ãŒããšãç»é¢å·ŠåŽã®ã颿°ãã¡ãã¥ãŒã®äžã«æ°ããªé¢æ°ïŒTimerTriggerCSharp1ïŒã衚瀺ãããŸãã
衚瀺ãããŠããã³ãŒãïŒrun.csxïŒãèŠãŠã¿ããšãçŸåšæå»ãã³ã³ãœãŒã«ã«åºåããåŠçã1è¡ã ãæžãããã¡ãœãããå®çŸ©ãããŠããŸããFunctionsã§ã¯Runã¡ãœãããå®çŸ©ãããã®äžã«å®è¡ãããåŠçãèšè¿°ããŠããã«ãŒã«ãšãªã£ãŠããŸãïŒC#ã®å ŽåïŒã
ä»åäœæããã¿ã€ããŒããªã¬ãŒã®é¢æ°ã®å Žåã¯ãã¡ãœããã®ç¬¬1åŒæ°ã«TimerInfoåã®åŒæ°ãèšå®ããŸãããã®åŒæ°ã«ã¯ããã€é¢æ°ãèµ·åãããã®ã¹ã±ãžã¥ãŒã«æ å ±ãå«ãŸããŠãããããã«åŸã£ãŠé¢æ°ãå®è¡ãããä»çµã¿ãšãªã£ãŠããŸãã 第2åŒæ°ã®TraceWriterã¯Functionsã«ããããã°åºåã®ããã®ãªããžã§ã¯ãã§ããInfoçã®ã¡ãœããã䜿ãããšã§AzureããŒã¿ã«äžã§Functionsã®ãã°ã確èªããããšãã§ããããã«ãªããŸãã
ã¹ã±ãžã¥ãŒã«æ å ±ã®ç¢ºèª
ããã§ã¯ã¹ã±ãžã¥ãŒã«æ å ±ãã©ã®ããã«å®çŸ©ãããŠãããã確èªããŠã¿ãŸããããç»é¢å·ŠåŽã®ãµã€ãã¡ãã¥ãŒããã[çµ±å]ãã¯ãªãã¯ããŸãããããšãã¿ã€ããŒtriggerããšããé ç®ãããããã¿ã€ã ã¹ã¿ã³ã ãã©ã¡ãŒã¿åããšãã¹ã±ãžã¥ãŒã«ãã衚瀺ãããŠããŸãã
ã¿ã€ã ã¹ã¿ã³ã ãã©ã¡ãŒã¿åã¯ããã®ã¹ã±ãžã¥ãŒã«æ å ±ã颿°ã®ã³ãŒãã䜿ãéã®ååïŒå€æ°åïŒã«ãªããã®ã§ããå çšã®Runã¡ãœããã®TimerInfoåã®åŒæ°ã®ååããããã§è¡šç€ºãããŠãããã®ãšäžèŽããŠããããšãåãããŸãã ã¹ã±ãžã¥ãŒã«ã«ã¯ãããªã¬ãŒãèµ·åããã¿ã€ãã³ã°ãcronåŒã§èšè¿°ãããŠããŸããã¯ã€ãã¯ã¹ã¿ãŒãã§ã¿ã€ããŒèµ·å颿°ãäœæããå Žåã¯ã5åééã§èµ·åããããã®cronåŒãšãªã£ãŠããŸãã
ãªããæ§æã¯äžè¬çãªcronåŒã®ãã®ãšåæ§ã§ããã6ã€ã®é ç®ã¯ãç§ å æ æ¥ æ ææ¥ãã§å®çŸ©ãããŠããç¹ã«æ³šæããŠäžããã巊端ãç§ã®å®çŸ©ãšãªã£ãŠããã幎ãå®çŸ©ããé ç®ã¯ååšããŸããã
ãªãããã®ç»é¢ã§ã¯ãã®ä»ã«ã颿°ã®å ¥åãšåºåãšãªãããŒã¿ãã€ãã³ããå®çŸ©ããããšãã§ããŸãã
颿°ã®å®è¡
ç»é¢å·ŠåŽã®ãµã€ãã¡ãã¥ãŒã®é¢æ°åïŒTimerTriggerCSharp1ïŒãã¯ãªãã¯ããã³ãŒãã衚瀺ãããç»é¢ã«æ»ããŸããã³ãŒãã®äžéšã«[å®è¡]ãã¿ã³ããããŸãã®ã§ãã¯ãªãã¯ããŠé¢æ°ãå®è¡ããŠã¿ãŸãããã颿°ãå®è¡ããããšãç»é¢äžéšã®ããã°ãã®ãšãªã¢ã«é¢æ°ã®éå§ãã°ãªã©ãåºåãããŸãããã®äžã«ãRunã¡ãœããå ã«èšè¿°ããŠããã¡ãã»ãŒãžãå«ãŸããŠããããšã確èªã§ããŸãã
Blob Storageã«ããŒã¿ãåºåããŠã¿ã
ã¿ã€ããŒèµ·åã®é¢æ°ãäœæããå®è¡ã§ããããšã確èªã§ããããæ¬¡ã¯ãã°ã«åºåããŠããå 容ãã¹ãã¬ãŒãžã«ãä¿åããŠã¿ãŸãããã
åºåå ã«Blob Storageãèšå®ãã
ç»é¢å·ŠåŽã®ãµã€ãã¡ãã¥ãŒããã[çµ±å]ãã¯ãªãã¯ããŸããç»é¢å³äžã«ãåºåããšããé ç®ãããããã®äžã«[æ°ããåºå]ãšãããã¿ã³ãããã®ã§ã¯ãªãã¯ããŸãããããšãåºåå ã®éžæè¢ã衚瀺ãããã®ã§ãAzure BLOB ã¹ãã¬ãŒãžããã¯ãªãã¯ãã[éžæ]ãã¿ã³ãã¯ãªãã¯ããŸãã
次ã«Azure BLOB ã¹ãã¬ãŒãžã®æ¥ç¶æ å ±ãå ¥åããŸãã
ãBLOB ãã©ã¡ãŒã¿ãŒåãã¯ã³ãŒãå ã§åºåå ãæ±ãéã®ååïŒå€æ°åïŒã§ããããã¹ãã¯å®éã«åºåãããBLOBãªããžã§ã¯ãã®Azure BLOB ã¹ãã¬ãŒãžäžã§ã®ãã¹ã§ããã³ã³ããå/BLOBãªããžã§ã¯ãåãã§è¡šçŸãããŸããããã©ã«ãã§èšå®ãããŠãã{rand-guid}ã¯ãã€ã³ãåŒãšåŒã°ãããã®ã®äžã€ã§ãã©ã³ãã ã«çæããGUIDãBLOBãªããžã§ã¯ãåã«èšå®ãããŸãããã€ã³ãåŒã«ã¯ãã®ä»ã«ãçŸåšæå»ïŒUTCïŒã衚ã{DateTime}ãªã©ããããŸãã
ãã¹ãã¬ãŒãžã¢ã«ãŠã³ãæ¥ç¶ãã§ã¯Azure Storageã®æ¥ç¶å ãæå®ããŸããæ¢ã«ååšãããã®ã§ããæ°èŠã§äœæããŠãæ§ããŸãããäžèš3ç¹ã®èšå®ãè¡ã£ããã[ä¿å]ãã¿ã³ãã¯ãªãã¯ããŠåºåå ã®èšå®ãå®äºãããŸãã
ã³ãŒãã®ä¿®æ£
æåŸã«é¢æ°ã³ãŒããä¿®æ£ããŸããç»é¢å·ŠåŽãã颿°åïŒTimerTriggerCSharp1ïŒãã¯ãªãã¯ããŠrun.csxã衚瀺ããŸãã 以äžã®ããã«ãRunã¡ãœããã®åŒæ°ã«stringåã§åºåå ã®BLOBãã©ã¡ãŒã¿ãŒåã远å ããã¡ãœããå ã§ãã®BLOBãã©ã¡ãŒã¿ãŒåã®å€æ°ã«ãã°ã¡ãã»ãŒãžãä»£å ¥ããŸãã
ãªãã远å ããåŒæ°ã®å é ã«ä»ããŠããoutã¯C#ã®ä¿®é£Ÿåã§ãä»£å ¥ãããå€ãåç §æž¡ãã§åŒã³åºãå ã«è¿ãããã®ããŒã¯ãŒãã§ãã
ä¿®æ£ããrun.csx
using System;
public static void Run(TimerInfo myTimer, out string outputBlob, TraceWriter log)
{
// ãã°ã¡ãã»ãŒãž
var message = $"C# Timer trigger function executed at: {DateTime.Now}";
// ãã°åºå
log.Info(message);
// ãã°ã¡ãã»ãŒãžãBLOBã¹ãã¬ãŒãžã«åºåãã
outputBlob = message;
}
ã³ãŒããä¿®æ£ãããšãã³ãŒãäžéšã®ãã¿ã³ã[ä¿åããã³å®è¡]ãšãªã£ãŠããã¯ãã§ãã®ã§ã¯ãªãã¯ããŸããã³ãŒããä¿åããããšåæã«é¢æ°ãå®è¡ãããŸãã
ç»é¢äžéšã®ãã°ãšãªã¢ã確èªããŠãã³ãŒãã®ã³ã³ãã€ã«æåãæå³ãããCompilation succeeded.ããšé¢æ°ã®å®è¡ãæåããããšãæå³ãããFunction completed (Success ã»ã»ã»ããšãããã°ãåºåãããŠããããšã確èªããŠãã ããã
ãã¡ã€ã«åºåã®ç¢ºèª
颿°å®è¡åŸã®ãã°ã§æåã確èªã§ããããBLOBã¹ãã¬ãŒãžã«BLOBãªããžã§ã¯ããäœæãããŠããããšã確èªããŸãããïŒæ¬é£èŒã®ç¬¬2åç®ã§Azureã¹ãã¬ãŒãžãšãã¥ã¬ãŒã¿ãã€ã³ã¹ããŒã«æžã®å Žåã¯ãã¡ããã䜿ãã«ãªã£ãŠã確èªã§ããŸãïŒãAzureããŒã¿ã«å·ŠåŽã®ãµãŒãã¹äžèЧãããã¹ãã¬ãŒãž ã¢ã«ãŠã³ãããéžæããŸããïŒäžèЧã«ç¡ãå Žåã¯ãå·Šäžã®ãMore servicesããã¯ãªãã¯ããŠéžæããŠãã ãããïŒ
次ã«é¢æ°ã®åºåå ãšããŠèšå®ããã¹ãã¬ãŒãž ã¢ã«ãŠã³ããéžæããã¹ãã¬ãŒãž ã¢ã«ãŠã³ãã®ã¡ãã¥ãŒãã[BLOB SERVICE] - [ã³ã³ãããŒ]ãã¯ãªãã¯ããŸãã ã³ã³ãããŒã®äžèЧãããoutcontainerããšããååã®ã³ã³ãããŒãéžã¶ãšãBLOBãªããžã§ã¯ããä¿åãããŠããããšã確èªã§ããããšæããŸãã
BLOBãªããžã§ã¯ããããŠã³ããŒãããŠããã¹ããšãã£ã¿çã§äžèº«ãèŠããšããã°ã«åºåãããŠããå 容ãšåãã¡ãã»ãŒãžãèšèŒãããŠããããšãåããããšæããŸãã
颿°ã®å®è¡ãæ¢ãã
æ¬èšäºã§äœæãã颿°ã¯ã5åééã§èµ·åãã颿°ã®ããåäœç¢ºèªãã§ããã颿°ã®å®è¡ã忢ããã颿°ãåé€ããŠãäºæãã¬èª²éé¡ãè«æ±ãããªãããã«ããŸãããã
颿°ã®åæ¢ãåé€
颿°ã®å®è¡ãæ¢ããã«ã¯ã颿°ãç¡å¹ã«ããæ¹æ³ãšé¢æ°ãåé€ããæ¹æ³ããããŸãã颿°ãç¡å¹ã«ãããšãããªã¬ãŒã§æå®ãã颿°ã®èµ·åæ¡ä»¶ãç¡å¹åãããŠé¢æ°ãå®è¡ãããããšããªããªããŸãã颿°ã®åé€ã¯Function Appãã颿°ãåé€ããŠäœ¿çšäžèœã«ããŸããäžæçã«é¢æ°ãæ¢ãããå Žåã¯é¢æ°ãç¡å¹ã«ã颿°ãäžèŠãšãªã£ãå Žåã«åé€ããããšãã£ã䜿ãåãã«ãªãããšæããŸãã
ç¡å¹åãšåé€ã®ã©ã¡ãããç»é¢å·ŠåŽã®[管ç]ãã¯ãªãã¯ããŠè¡šç€ºããç»é¢ã§æäœããããšãã§ããŸãã
ãªã颿°ãç¡å¹ã«ããå Žåã§ããã³ãŒãã衚瀺ãããŠããç»é¢ã§å®è¡ãã¿ã³ãã¯ãªãã¯ããããšã§é¢æ°ã峿å®è¡ããããšãã§ããŸãããã®å Žåã颿°ã¯äžåºŠã ãå®è¡ãããŸããç¡å¹ç¶æ ã¯ç¶ç¶ãããŸãŸã«ãªããŸãã
Function Appã§ã®å®è¡å¶é
ãã®ä»ã«ããFunction Appåäœã§è€æ°ã®é¢æ°ã®å®è¡ãå¶éããããšãã§ããŸããæ¯æ¥ã®å©çšäžéãæ±ºããŠããããè¶ ããå Žåã¯é¢æ°ã®å®è¡ãç¿æ¥ãŸã§åæ¢ããããšã§èª²éé¡ãæããããŸããå©çšäžéå€ã¯ã®ã¬ãã€ãç§ïŒé¢æ°ã®å®è¡æã«äœ¿çšãããã¡ã¢ãªãµã€ãºïŒGBïŒ ïŒ å®è¡æéïŒç§ïŒïŒåäœã§èšå®ããŸããç»é¢ã§ã¯ãFunction AppãéžæããŠ[èšå®]ã¿ãå ã®ãæ¥ããšã®äœ¿çšéã¯ã©ãŒã¿ïŒGB - ç§ïŒãããèšå®ããããšãã§ããŸãã
ãŸãšã
Auzre Functionsã䜿ããšããã©ãŠã¶äžããç°¡åã«ã€ãã³ãé§åã®ã¢ããªã±ãŒã·ã§ã³ãäœããããšãåãã£ãããšæããŸããã¯ã©ãŠãã®å©çšãäžè¬åãããµãŒãã¹éã®é£æºãå¿ ç¶ãšãªã£ãŠããæšä»ã®ã¢ãŒããã¯ãã£ã§ã¯Azure Functionsã®æ§ãªãã€ãªã圹ããããªããä»çµã¿ãéå®ããŸãã
次åã¯ãAzure Functionsãšåæ§ã«ã€ãã³ãé§åã®ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãã§ããWebJobsã«ã€ããŠåãäžããAzure Functionsãšã®éãã䜿ãåãæ¹ã«ã€ããŠç޹ä»ããäºå®ã§ãã
WINGSãããžã§ã¯ã ç§èéŸäžè/å±±ç°ç¥¥å¯ç£ä¿®
ïŒWINGSãããžã§ã¯ãã«ã€ããŠïŒãã¯ãã«ã«å·çãããžã§ã¯ã(代衚山ç°ç¥¥å¯)ãæµ·å€èšäºã®ç¿»èš³ãããäž»ã«Webéçºåéã®æžç±ã»éèª/Webèšäºã®å·çãè¬æŒçãå¹ åºãæããããäžç·ã«å·çãã§ããæå¿ãåéäžã











