你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Static Web Apps 中通过 Azure 容器应用提供 API 支持

Azure 容器应用是一个托管无服务器容器和微服务的托管平台。

将容器应用链接到静态 Web 应用时,通过以 /api 开头的路由发往静态 Web 应用的任何请求将代理到容器应用上的相同路由。

默认情况下,当容器应用链接到静态 Web 应用时,容器应用仅接受通过链接的静态 Web 应用代理的请求。 容器应用一次只能链接到一个静态 Web 应用。

Static Web Apps 的 API 选项包括以下 Azure 服务:

有关详细信息,请参阅 API 概述

注意

与 Azure 容器应用的集成需要 Static Web Apps 标准计划。

Static Web Apps 拉取请求环境不支持后端集成。

先决条件

要将容器应用链接到静态 Web 应用,需要有一个现有的容器应用资源和静态 Web 应用。

资源 说明
Azure Container Apps 如果你还没有,请按照部署你的第一个容器应用指南中的步骤操作。
现有的静态 Web 应用 如果还没有,请按照入门指南中的步骤创建无框架静态 Web 应用。

示例

假设有一个 Azure 容器应用实例,该实例通过以下位置公开终结点。

https://my-container-app.red-river-123.eastus2.azurecontainerapps.io/api/getProducts

链接之后,可以通过静态 Web 应用中的 api 路径来访问相同的终结点,如本示例 URL 所示。

https://red-sea-123.azurestaticapps.net/api/getProducts

这两个 URL 都指向同一 API 终结点。 容器应用上的终结点必须具有 /api 前缀,因为 Static Web Apps 会匹配对 /api 发出的请求,并将整个路径代理到链接的资源。

要将容器应用作为静态 Web 应用的 API 后端进行链接,请执行以下步骤:

  1. 在 Azure 门户中,转到 Static Web Apps。

  2. 从导航菜单中选择“API”

  3. 找到 API 管理实例要链接到的环境。 选择链接

  4. 在“后端资源类型”中,选择“容器应用”

  5. 在“订阅”中,选择要链接的容器应用所在的订阅

  6. 在“资源名称”中,选择容器应用

  7. 选择链接

链接过程完成后,对以 /api 开头的路由的请求将代理到链接的容器应用。

管理对容器应用的访问

容器应用配置了一个名为 Azure Static Web Apps (Linked) 的标识提供者,该标识提供者仅允许通过静态 Web 应用代理的流量。 要使容器应用可供其他应用程序访问,请更新其身份验证配置以添加另一个标识提供者或更改安全设置以允许未经身份验证的访问。

要从静态 Web 应用取消链接容器应用,请执行以下步骤:

  1. 在 Azure 门户中,转到 Static Web Apps。

  2. 从导航菜单中选择“API”

  3. 找到要取消链接的环境,然后选择容器应用名称。

  4. 选择“取消链接”

取消链接过程完成后,对以 /api 开头的路由的请求不再代理到容器应用。

注意

为防止意外向匿名流量公开容器应用,不会自动删除链接过程创建的标识提供者。 你可从容器应用的身份验证设置中删除名为 Azure Static Web Apps (Linked) 的标识提供者

从容器应用资源中删除身份验证

若要使容器应用资源能够接收匿名流量,请执行以下步骤来删除标识提供者:

  1. 在 Azure 门户中,导航到容器应用资源。

  2. 从导航菜单中选择“身份验证”

  3. 从“标识提供者”列表中,删除与 Static Web Apps 资源相关的标识提供者。

  4. 选择“删除身份验证”以删除身份验证并允许匿名流量流向容器应用资源。

容器应用资源现在可以接收匿名流量。

后续步骤