文章

建立和部署 Azure Functions

Azure Functions 是 Azure 平台上的無伺服器計算服務,它允許你編寫小段代碼來執行特定任務,而不需要管理伺服器。下面是建立和部署 Azure Functions 的步驟概述。

一、準備工作

1. 安裝所需工具

  • Azure CLI:確保已安裝並登入 Azure CLI,用於與 Azure 交互。
  • Visual Studio Code:安裝並配置好 Azure Functions 擴展,用於開發和部署 Functions。
  • Azure Functions Core Tools:安裝這個工具可以在本地開發、測試和部署 Azure Functions。

2. 設置開發環境

  • 使用 Visual Studio Code 打開一個新資料夾,這個資料夾將成為你 Azure Functions 專案的根目錄。
  • 使用命令行或 Visual Studio Code 終端輸入 func init 命令,初始化一個新的 Azure Functions 專案,並選擇運行時語言(例如 C#、JavaScript、Python 等)。

二、建立 Azure Functions

1. 創建新函數

  • 在專案目錄下,運行 func new 命令,然後選擇觸發類型(例如 HTTP Trigger、Timer Trigger 等)以及為函數命名。
  • 這將創建一個新的函數目錄,內含函數代碼和設定文件。

2. 編寫和測試代碼

  • 打開生成的函數代碼文件,編寫你的業務邏輯。
  • 在本地測試函數,運行 func start 命令,在瀏覽器或使用工具如 Postman 發送請求到本地運行的函數。

三、部署 Azure Functions

1. 建立 Azure Function App

  • 使用 Azure CLI 或 Azure Portal 創建一個新的 Azure Function App。
    1
    
    az functionapp create --resource-group <ResourceGroupName> --consumption-plan-location <Location> --runtime <Runtime> --runtime-version <Version> --functions-version 4 --name <AppName> --storage-account <StorageAccountName>
    
  • 此命令會在指定的資源組中創建一個 Function App,並配置存儲帳戶來支持無伺服器架構。

2. 部署函數

  • 你可以直接從 Visual Studio Code 部署函數。首先,確保你已經登入 Azure,然後右鍵單擊 Function App,選擇 “Deploy to Function App”,並按照指示進行部署。
  • 也可以使用 Azure CLI 部署:
    1
    
    func azure functionapp publish <AppName>
    
  • 此命令將把本地開發的函數部署到 Azure 上的指定 Function App 中。

四、管理和監控 Azure Functions

1. 設定應用程式設定

  • 在 Azure Portal 中,你可以為 Function App 設置應用程式配置,例如環境變數、連接字符串等。這些設定可以在 “Configuration” 頁面下進行修改。

2. 監控和排錯

  • Azure Functions 集成了 Azure Monitor 和 Application Insights,用於跟踪和監控函數的執行情況。你可以在 Azure Portal 中查看函數的執行次數、失敗率、平均執行時間等指標,並排查錯誤。

3. 調整性能和擴展

  • 根據應用程式需求,你可以通過調整計劃來控制函數的性能和成本,例如使用消耗計劃(Consumption Plan)或專用計劃(Premium Plan)。

五、優化和擴展 Azure Functions

1. 函數代理(Proxies)

  • 使用 Azure Functions Proxies 功能,你可以創建一個 API 閘道,將多個函數組合在一起,並為外部訪問者提供統一的 API 端點。

2. 冷啟動優化

  • 透過啟用 Always On 功能,你可以減少冷啟動的時間,尤其是對於使用消耗計劃的應用程式。

3. 使用 Durable Functions

  • 如果你的應用程式需要管理狀態,或者需要處理長時間運行的任務,Azure Durable Functions 是一個理想的選擇,它允許你編寫有狀態的無伺服器應用程式。

總結

Azure Functions 是一個強大的無伺服器計算工具,適合開發輕量級的事件驅動應用程式。通過上述步驟,你可以輕鬆建立、部署並管理你的 Azure Functions,在最少的運維負擔下,快速響應應用程式的需求。

本文章以 CC BY 4.0 授權