前端 Web 應用程式通常會回呼數據和服務的端 API。 根據預設,Azure Static Web Apps 會透過 Azure Functions 提供內建無伺服器 API 端點。
靜態 Web Apps 中的 Azure Functions API 根據主控方案,有兩種可能的設定可供使用:
受控函式:根據預設,靜態 Web 應用程式的 API 是由與某些限制相關聯的 Azure Static Web Apps 所管理及部署的 Azure Functions 應用程式。
自備函式:您可以選擇 性地提供任何方案類型的現有 Azure Functions 應用程式 ,其中包含 Azure Functions 的所有功能。 使用此設定時,您必須負責處理 Functions 應用程式的個別部署。
下表對比使用Managed和現有函式之間的差異。
功能 | Managed 函式 | 自備函式 |
---|---|---|
存取 Azure Functions 觸發程式和系結 | 僅限 HTTP | 全部 |
支援的 Azure Functions 運行時間1 | 請參閱 支援的語言和運行時間。 | 全部 |
支援的 Azure Functions 主控方案 | 耗用 | 耗用 Premium 專用 |
整合式安全性 ,可直接存取使用者驗證和角色型授權數據 | ✔ | ✔ |
路由整合 ,可 /api 安全地將路由提供給 Web 應用程式,而不需要自訂 CORS 規則。 |
✔ | ✔ |
Durable Functions 程式設計模型 | ✕ | ✔ |
受控識別 | ✕ | ✔ |
Azure App 服務 驗證和授權令牌管理 | ✕ | ✔ |
Azure Static Web Apps 外部提供的 API 函式 | ✕ | ✔ |
金鑰保存庫 參考 | ✕ | ✔ |
1 若要在 Managed 函式中指定執行時間版本,請將組態檔新增至前端應用程式並設定 apiRuntime
屬性。 支援受限於 Azure Functions 語言執行平臺支持原則。
Static Web Apps 的 API 選項包括下列 Azure 服務:
如需詳細資訊, 請參閱 API 概觀 。
組態
API 端點可透過 api
路由提供給 Web 應用程式。
Managed 函式 | 自備函式 |
---|---|
修正路由時 /api ,您可以控制 Managed Functions 應用程式的原始碼資料夾位置。 您可以編輯存放庫 .github/workflows 資料夾中的工作流程 YAML 檔案來變更此位置。 |
/api 路由的要求會傳送至您現有的 Azure Functions 應用程式。 |
疑難解答和記錄
只有在您新增 Application Insights 時,才能使用記錄。
Managed 函式 | 自備函式 |
---|---|
在靜態 Web 應用程式上啟用 Application Insights,以開啟記錄功能。 | 在 Azure Functions 應用程式上啟用 Application Insights,以開啟記錄功能。 |
限制
除了靜態 Web Apps API 條件約束之外,下列限制也適用於 Azure Functions API:
Managed 函式 | 自備函式 |
---|---|
|
|