你当前正在访问 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 库存保持最新状态。 Azure API 中心还可以从包括 Amazon 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 管理实例。

注意

  • Azure API 管理的集成目前为预览版。
  • 集成的 API 管理实例(API 源)的数量存在限制
  • API 管理中的 API 更新通常在几分钟内同步到 API 中心,但同步可能需要长达 24 小时。
  • 如果你在集成期间选择了包含 API 定义的选项,那么 API 定义也会同步到 API 中心。

从 API 管理同步的实体

你可以在 API 中心中为同步的 API 添加或更新元数据属性和文档,以帮助利益干系人发现、了解和使用这些 API。 详细了解 Azure API 中心的内置和自定义元数据属性

下表显示了可以在 Azure API 中心中修改的实体属性,以及根据 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 中心的实体的资源 ID 和系统 ID 是自动生成的,无法更改。

先决条件

  • 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 中心使用托管标识来访问 Azure 资源。 根据你的需要,启用一个系统分配的托管标识或一个或多个用户分配的托管标识。

下面的示例展示了如何使用 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 管理实例

可以使用门户或 Azure CLI 集成 API 管理实例。

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

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

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

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

删除集成

在集成 API 源期间,你无法从 API 中心删除已同步的 API。 可以根据需要删除集成。 删除集成时:

  • API 中心清单中同步的 API 会被删除
  • 与 API 源关联的环境和部署会被删除

可以使用门户或 Azure CLI 删除集成。

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