前端 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 函式 | 自備函式 |
|---|---|
|
|