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 概觀

注意

與 Azure Container Apps 的整合需要靜態 Web Apps 標準方案。

靜態 Web Apps 提取要求環境 不支援後端整合。

必要條件

若要將容器應用程式連結至靜態 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 後端,請遵循下列步驟:

  1. 在Azure 入口網站中,移至靜態 Web 應用程式。

  2. 從導覽功能表中選取 [API ]。

  3. 找出您要連結API 管理實例的環境。 選取連結

  4. [後端資源類型 ] 中,選取 [容器應用程式 ]。

  5. 在 [ 訂用帳戶 ] 中,選取包含您要連結之容器應用程式的訂用帳戶。

  6. 在 [ 資源名稱] 中,選取容器應用程式。

  7. 選取連結

當連結程式完成時,開頭 /api 為 的路由要求會 Proxy 處理至連結的容器應用程式。

管理容器應用程式的存取權

您的容器應用程式會設定為名為 Azure Static Web Apps (Linked) 的識別提供者,只允許透過靜態 Web 應用程式進行 Proxy 的流量。 若要讓容器應用程式可供其他應用程式存取,請更新其驗證組態以新增另一個識別提供者,或變更安全性設定以允許未經驗證的存取。

若要從靜態 Web 應用程式取消連結容器應用程式,請遵循下列步驟:

  1. 在Azure 入口網站中,移至靜態 Web 應用程式。

  2. 從導覽功能表中選取 [API ]。

  3. 找出您想要取消連結的環境,然後選取容器應用程式名稱。

  4. 選取 [取消連結 ]。

當取消連結程式完成時,開頭 /api 為 的路由要求不再 Proxy 到您的容器應用程式。

注意

為了避免不小心將容器應用程式公開給匿名流量,不會自動刪除連結程式所建立的識別提供者。 您可以從容器應用程式的驗證設定中刪除名為 Azure Static Web Apps(已連結) 的識別提供者。

從 Container Apps 資源移除驗證

若要讓您的 Container Apps 資源接收匿名流量,請遵循下列步驟來移除識別提供者:

  1. 在Azure 入口網站中,流覽至 [容器應用程式] 資源。

  2. 從導覽功能表中選取 [驗證 ]。

  3. 從識別提供者 清單中 ,刪除與靜態 Web Apps 資源相關的識別提供者。

  4. 選取 [移除驗證] 以移除驗證 ,並允許匿名流量傳送到您的 Container Apps 資源。

您的 Container Apps 資源現在能夠接收匿名流量。

下一步