你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
从 API 管理实例同步 API
本文介绍如何创建指向 API 管理实例的链接,以便实例的 API 在 API 中心库存中持续保持最新状态。
关于链接 API 管理实例
尽管可以使用 Azure CLI 按需将 API 从 Azure API 管理导入到 Azure API 中心,但链接 API 管理实例可实现持续同步,以便 API 库存保持最新状态。
将 API 管理实例作为 API 源进行链接时,会发生以下情况:
- API 管理实例中的所有 API 以及可选的 API 定义(规范)都添加到 API 中心库存中。
- 请在 API 中心配置“Azure API 管理”类型的环境。
- 为每个从 API 管理同步的 API 定义创建关联的部署。
更改现有 API 的设置(例如,添加新版本)、创建新 API 或删除 API 时,API 管理 API 会自动同步到 API 中心。 此同步是从 API 管理到 Azure API 中心的单向同步,这意味着 API 中心内的 API 更新不会同步回 API 管理实例。
注意
- 链接的 API 管理实例(API 源)的数量存在限制。
- API 管理中的 API 更新通常在几分钟内同步到 API 中心,但同步可能需要长达 24 小时。
从 API 管理同步的实体
可以在 API 中心添加或更新元数据属性和文档,这样有助于利益干系人发现、理解和使用同步的 API。 详细了解 Azure API 中心的内置和自定义元数据属性。
下表显示了可在 Azure API 中心内修改的实体属性以及根据链接的 Azure API 管理实例中的值确定的属性。 此外,Azure API 中心内的实体的资源或系统标识符是自动生成的,无法修改。
实体 | 可在 API 中心配置的属性 | API 管理中确定的属性 |
---|---|---|
API | summary lifecycleStage termsOfService license externalDocumentation customProperties |
title description kind |
API 版本 | lifecycleStage | title |
环境 | title description kind server.managementPortalUri 加入 customProperties |
server.type |
部署 | title description 服务器 state customProperties |
server.runtimeUri |
有关属性详细信息,请参阅 Azure API 中心 REST API 参考。
先决条件
Azure 订阅中的 API 中心。 如果尚未创建 API 中心,请参阅快速入门:创建 API 中心。
相同或不同订阅中的 Azure API 管理实例。 此实例必须位于同一目录中。
对于 Azure CLI:
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
注意
az apic
命令需要 Azure CLI 扩展apic-extension
。 如果尚未使用az apic
命令,则可以在运行第一个az apic
命令时动态安装扩展,也可以手动安装扩展。 详细了解 Azure CLI 扩展。请参阅最新更改的发行说明和
apic-extension
中的更新。注意
本文中的 Azure CLI 命令示例可以在 PowerShell 或 bash shell 中运行。 由于不同的变量语法,需要为两个 shell 提供单独的命令示例。
在 API 中心中添加托管标识
对于此方案,API 中心使用托管标识访问 API 管理实例中的 API。 根据你的需要,配置一个系统分配的托管标识或一个或多个用户分配的托管标识。
下面的示例展示了如何使用 Azure 门户或 Azure CLI 配置系统分配的托管标识。 概括而言,配置步骤与用户分配的托管标识类似。
为托管标识分配 API 管理服务读者角色
要允许导入 API,请在 API 管理实例中为 API 中心的托管身份分配 API 管理服务读者角色。 可以使用门户或 Azure CLI。
- 在门户中导航到 API 管理实例。
- 在左侧菜单中,选择“访问控制(IAM)”。
- 选择“+ 添加角色分配”。
- 在“添加角色分配”页面上,按如下所示设置值:
- 在“角色”选项卡上 - 选择“API 管理服务读者”。
- 在“成员”页上的“访问权限分配对象”中,选择“托管标识”>“+ 选择成员”。
- 在“选择托管标识”页上 - 选择你在上一部分中添加的 API 中心的系统分配托管标识。 单击“选择”。
- 选择“查看 + 分配”。
链接 API 管理实例
可以使用门户链接 API 管理实例。
- 在门户中,导航到你的 API 中心。
- 在“资产”下,选择“环境”。
- 选择“链接(预览)”>“+ 新建链接”。
- 在“链接 Azure API 管理服务”页中执行以下操作:
- 选择要链接的“订阅”、“资源组”和“Azure API 管理服务”。
- 在“链接详细信息”中,输入标识符。
- 在“环境详细信息”中,输入“环境标题”(名称)、“环境类型”和可选的“环境说明”。
- 在“API 详细信息”中,为同步的 API 选择“生命周期阶段”。 (将 API 添加到 API 中心后,可以更新 API 的该值。)另请选择是否同步 API 定义。
- 选择创建。
该环境已添加到 API 中心。 API 管理 API 被导入到 API 中心库存中。
删除链接
当 API 管理实例处于已链接状态时,无法从 API 中心删除同步的 API。 可以根据需要删除该链接。 删除链接时:
- API 中心库存中同步的 API 管理 API 会被删除
- 与 API 管理实例关联的环境和部署会被删除
若要删除 API 管理链接,请执行以下操作:
- 在门户中,导航到你的 API 中心。
- 在“资产”下,选择“环境”>“链接(预览)”。
- 选择链接,然后选择“删除”(垃圾桶图标)。