iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 7
4

前面透過Portal,雖然已能進行Functions的開發。但如果遇到Bug,Azure Portal在Debug上可能相對IDE來說比較難一點。此時我們立刻想到地表最強的開發工具--Visual Studio 2017。

使用Visual Studio 2017開發Azure Functions的好處

不愧是地表最強,什麼都能開發。Azure也是支援的!接下來介紹使用Visual Studio 2017開發Azure Functions有好處吧~

a. IntelliSense:提示可使用的函數或變數

b. Debugging:和Debug一般程式一樣可以下中斷點

介紹完Visual Studio的好之後,接下來我們將手把手帶大家進行Azure Functions的設定及開發

實作

1. 下載Visual Studio社群版

https://visualstudio.microsoft.com/zh-hant/downloads/

2. 安裝Visual Studio囉

3. 勾選Azure開發安裝包

4. 開始安裝(網路慢的可以去吃個買個珍奶雞排再回來,果然是地表最強IDE,佔的容量真的不容小覷)

5. 檢查Extensions and Update有沒有安裝Azure Functions and Web Jobs Tools

6. 準備開始開發囉!首先呢,我們先選擇新增專案

7. 選擇Azure Functions

8. 選擇Azure Functions v2 / Empty Tigger / Storage Emulator

在這邊補充一下,Azure Functions Runtime總共區分兩種,V1是搭配.NET Framework因此只能在Windows環境上運作。V2是搭配.NET Standard,可以跨平台運作。

另外針對Function Trigger的部分,有Http trigger, Time trigger等Template可以讓我們選擇使用。這邊我們選擇空的(Empty),稍後再另外加上。

還可以串接Azure的Storage Account,這邊我們在進行測試,因此我們先選Storage Emulator。

9. 建立好專案,查看一下我們的初始的基本架構

10. 了解一下什麼是host.json

有點像這個Functions運作的設定檔案,因為我們一開始什麼Trigger都沒有設定,所以一開始會是空的。我們Azure Functions與其他服務串接的設定資料,都會寫在這個host.json裡喔

例如我們想設定這個Functions Timeout的時間,在下方範例中我們設置為1分鐘。

{
    "functionTimeout": "00:01:00"
}

其他還有很多其他參數,可以參考以下連結:https://docs.microsoft.com/zh-tw/azure/azure-functions/functions-host-json

11. 接下來介紹local.settings.json檔案

在這邊因為我們是用C#開發,我們需要加上一行,"FUNCTIONS_WORKER_RUNTIME": "dotnet"
其他可選的除了dotnet之外,也可以選擇node, java等等

12. 我們再看一下專案的組態設定

可以看到他串接了我們的host.json及local.settings.json

13. 組態設定都OK後,再來我們要開始加入我們的主角--Azure Function!

針對專案點選右鍵,選擇Add,新增Azure Function

14. 選擇Azure Function

15. 在這邊我們要選Http Trigger

16. 基本程式碼已經幫我們寫好了,程式邏輯是你access這個連結時,送入name參數,會印出Hello, xxx

17. 點選執行來測試看看Azure Functions的執行

18. 這邊會看到測試用的Host被帶起來

19. 測試用的Local Endpoint

好的!我們已經完成用Visual Studio 2017進行Azure Functions開發的設定囉!
辛苦大家了!

下一篇帶大家實作點有趣的,用Azure Functions打造RESTful API。
文章快速連結:Azure Functions開發REST API- 交友任務管理


上一篇
[DAY06] (實作)Serverless打造工程師交友小工具-Azure Functions⚡(下篇)
下一篇
[DAY08] Azure Functions⚡開發REST API-交友任務管理
系列文
30天手把手帶你趣學Azure☁️-初學者也能動手實作🙌🏻30

尚未有邦友留言

立即登入留言