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