Azure Static Web Apps 中的 API 支援與Azure App 服務
Azure App 服務 是一個受控平臺,用於裝載在伺服器上執行程式碼的 Web 應用程式。 Azure App 服務支援許多執行時間和架構,包括 Node.js、ASP.NET Core、PHP、JAVA 和 Python。
當您將Azure App 服務 Web 應用程式連結至靜態 Web 應用程式時,任何以 開頭 /api
的路由對靜態 Web 應用程式的要求,都會在Azure App 服務應用程式上 Proxy 到相同的路由。
根據預設,當 App Service 應用程式連結至靜態 Web 應用程式時,App Service 應用程式只會接受透過連結靜態 Web 應用程式進行 Proxy 處理的要求。 Azure App 服務應用程式一次只能連結至單一靜態 Web 應用程式。
所有Azure App 服務裝載方案都可供搭配 Azure Static Web Apps 使用。
Static Web Apps 的 API 選項包括下列 Azure 服務:
如需詳細資訊, 請參閱 API 概觀 。
必要條件
若要將 App Service 連結至靜態 Web 應用程式,您需要有現有的 App Service 資源和靜態 Web 應用程式。
資源 | 描述 |
---|---|
Azure App Service | 如果您還沒有 Web 應用程式,請遵循在 Azure 中建立 Web 應用程式指南中的 步驟。 |
現有的靜態 Web 應用程式 | 如果您還沒有帳戶,請遵循快速入門手冊中的 步驟來建立 No Framework 靜態 Web 應用程式。 |
範例
請考慮透過下列位置公開端點的現有Azure App 服務實例。
https://my-web-app.azurewebsites.net/api/getProducts
連結之後,您可以透過 api
靜態 Web 應用程式的路徑存取相同的端點,如此範例 URL 所示。
https://red-sea-123.azurestaticapps.net/api/getProducts
這兩個 URL 都指向相同的 API 端點。 App Service 上的端點必須具有 /api
前置詞,因為 Static Web Apps 符合對 所 /api
提出要求,並 Proxy 處理連結資源的完整路徑。
連結 Azure App 服務 Web 應用程式
若要將 Web 應用程式連結為靜態 Web 應用程式的 API 後端,請遵循下列步驟:
在Azure 入口網站中,移至靜態 Web 應用程式。
從導覽功能表中選取 [API ]。
找出您要連結API 管理實例的環境。 選取連結。
在 [後端資源類型 ] 中,選取 [Web 應用程式 ]。
在 [ 訂用帳戶 ] 中,選取包含您要連結Azure App 服務應用程式的訂用帳戶。
在 [ 資源名稱 ] 中,選取Azure App 服務應用程式。
選取連結。
當連結程式完成時,開頭 /api
為 的路由要求會 Proxy 到連結的 App Service 應用程式。
管理Azure App 服務的存取權
您的 App Service 應用程式會設定為名為 Azure Static Web Apps (Linked)
的識別提供者,只允許透過靜態 Web 應用程式進行 Proxy 的流量。 若要讓 App Service 應用程式可供其他應用程式存取,請更新其驗證組態以新增另一個識別提供者,或變更安全性設定以允許未經驗證的存取。
取消連結Azure App 服務應用程式
從靜態 Web Apps 取消連結 App Service
若要從靜態 Web 應用程式取消連結 Web 應用程式,請遵循下列步驟:
在Azure 入口網站中,移至靜態 Web 應用程式。
從導覽功能表中選取 [API ]。
找出您想要取消連結的環境,然後選取 Web 應用程式名稱。
選取 [取消連結 ]。
當取消連結程式完成時,開頭 /api
為 的路由要求將不再 Proxy 處理到您的 App Service 應用程式。
注意
為了避免不小心將 App Service 應用程式公開至匿名流量,不會自動刪除連結程式所建立的識別提供者。 您可以從 App Service 應用程式的驗證設定中刪除名為 Azure Static Web Apps(已連結) 的識別提供者。
從 App Service 資源移除驗證
若要讓您的 App Service 資源接收匿名流量,請遵循下列步驟來移除識別提供者:
在Azure 入口網站中,流覽至 App Service 資源。
從導覽功能表中選取 [驗證 ]。
從識別提供者 清單中 ,刪除與靜態 Web Apps 資源相關的識別提供者。
選取 [移除驗證] 以移除驗證 ,並允許匿名流量傳送到您的 App Service 資源。
您的 App Service 資源現在能夠接收匿名流量。