你当前正在访问 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 源进行链接时,会发生以下情况:

  1. API 管理实例中的所有 API 以及可选的 API 定义(规范)都添加到 API 中心库存中。
  2. 请在 API 中心配置“Azure API 管理”类型的环境
  3. 为每个从 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:

    注意

    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 配置系统分配的托管标识。 概括而言,配置步骤与用户分配的托管标识类似。

  1. 门户中,导航到你的 API 中心。
  2. 在左侧菜单中,在“安全性”下,选择“托管标识”。
  3. 选择“系统已分配”,并将状态设置为“”。
  4. 选择“保存”。

为托管标识分配 API 管理服务读者角色

要允许导入 API,请在 API 管理实例中为 API 中心的托管身份分配 API 管理服务读者角色。 可以使用门户或 Azure CLI。

  1. 门户中导航到 API 管理实例。
  2. 在左侧菜单中,选择“访问控制(IAM)”。
  3. 选择“+ 添加角色分配”。
  4. 在“添加角色分配”页面上,按如下所示设置值:
    1. 在“角色”选项卡上 - 选择“API 管理服务读者”。
    2. 在“成员”页上的“访问权限分配对象”中,选择“托管标识”>“+ 选择成员”。
    3. 在“选择托管标识”页上 - 选择你在上一部分中添加的 API 中心的系统分配托管标识。 单击“选择”。
    4. 选择“查看 + 分配”。

可以使用门户链接 API 管理实例。

  1. 门户中,导航到你的 API 中心。
  2. 在“资产”下,选择“环境”。
  3. 选择“链接(预览)”>“+ 新建链接”
  4. 在“链接 Azure API 管理服务”页中执行以下操作:
    1. 选择要链接的“订阅”、“资源组”和“Azure API 管理服务”
    2. 在“链接详细信息”中,输入标识符。
    3. 在“环境详细信息”中,输入“环境标题”(名称)、“环境类型”和可选的“环境说明”
    4. 在“API 详细信息”中,为同步的 API 选择“生命周期阶段”。 (将 API 添加到 API 中心后,可以更新 API 的该值。)另请选择是否同步 API 定义。
  5. 选择创建

屏幕截图显示如何在门户中链接 Azure API 管理服务。

该环境已添加到 API 中心。 API 管理 API 被导入到 API 中心库存中。

门户中的环境列表的屏幕截图。

当 API 管理实例处于已链接状态时,无法从 API 中心删除同步的 API。 可以根据需要删除该链接。 删除链接时:

  • API 中心库存中同步的 API 管理 API 会被删除
  • 与 API 管理实例关联的环境和部署会被删除

若要删除 API 管理链接,请执行以下操作:

  1. 门户中,导航到你的 API 中心。
  2. 在“资产”下,选择“环境”>“链接(预览)”。
  3. 选择链接,然后选择“删除”(垃圾桶图标)。