Azure Functions 的運作方式
在這裡,您將了解如何使用 Azure Functions 來開發無伺服器結構,並使用 Functions 所提供的各種功能實作。
您也將深入了解 Azure Functions 的運作方式。 這也可協助您判斷如何充分利用 Azure Functions,以符合您組織的需求。
Azure Functions 是無伺服器計算解決方案,可讓您撰寫較少的程式碼。 這是平台即服務供應項目,因此您不需要擔心裝載應用程式,並可節省成本。
Azure Functions 是處理資料、整合系統、使用物聯網 (IoT),以及建置簡單 API 和微服務的絕佳解決方案。
調整函數應用程式
函式執行的內容,稱為函數應用程式。 函數應用程式是部署、管理和調整函式的單位。 函數應用程式中的所有函式,都會共用相同的設定和連線。
在使用情況和進階方案中,Functions 會藉由新增更多函數應用程式執行個體來調整 CPU 和記憶體資源。 執行個體數目取決於觸發函式的事件數量。 函數應用程式內的所有函式都會共用執行個體內的資源,同時進行規模調整。
Azure Functions 監視
Azure Functions 提供與 Azure Application Insights 的內建整合,以監視函式。 Application Insights 會收集記錄、效能和錯誤資料。 它可協助您偵測效能異常、診斷問題,並進一步了解函式的使用方式。
Application Insights 檢測已內建於 Azure Functions 中。 有了 Application Insights 整合後,遙測資料會傳送至連線的 Application Insights 執行個體。 此資料包括 Functions 主機所產生的記錄、從函式程式碼撰寫的追蹤,以及效能資料。
注意
除了來自函式和 Functions 主機的資料之外,您也可以從 Functions 調整控制器收集資料。
下圖顯示如何在函數應用程式的 Application Insights 中檢視資料的範例。
Azure Functions 元件
下表描述 Azure Functions 的主要元件:
元件 | 描述 |
---|---|
函式觸發程序 | 觸發程式是讓函式執行的項目。 觸發程序會定義如何叫用函數,而且函式必須只有一個觸發程序。 |
函式繫結 | 繫結至函式是以宣告方式將另一個資源連接到函式的方式;繫結能以「輸入繫結」、「輸出繫結」或兩者連接。 繫結中的資料會提供給函式作為參數。 如果您不想要或無法使用繫結,您仍然可以在函式中使用用戶端 SDK,就像平常連線到服務一樣。 |
函式執行階段 | Azure Functions 目前支援數個版本的執行階段主機。 Functions 也支援許多不同的執行階段,例如 .NET Core、Node.js、JAVA、PowerShell 和 Python。 在開發期間,您可以在本機電腦上安裝 Functions 執行階段,並使用 Azure Functions Core Tools 在本機執行函式。 |
API 管理 | APIM 為您的 HTTP 觸發函式端點提供安全性和路由,以將其公開為真正的 REST API。 |
部署位置 | Azure Functions 部署位置可讓您的函數應用程式執行稱為「位置」的不同執行個體。 位置是透過公開可用端點公開的不同環境。 位置可讓您在安全的環境中測試 Azure 中的新版函式,然後將新版本順暢地交換至生產環境。 |
函數應用程式設定 | 連接字串、環境變數和其他應用程式設定會針對每個函式應用程式個別定義。 這些函數應用程式設定值在程式碼中可以作為環境變數加以讀取。 |
這些元件會一起合作,為應用程式和 DevOps 工程師提供完整的端對端平台,以利用 Azure Functions 開發無伺服器架構。