# 使用多个版本

API 契约允许您维护同一 API 契约的多个版本，以便在为新版本准备变更的同时，保持已发布版本的稳定。

* 在生产环境中维护现有的 API 版本，同时在新版本中引入破坏性变更。
* 从单一位置跟踪和管理已发布的版本。
* 在不影响现有版本的情况下进行 API 变更。

当您创建新版本时，所有内容都会复制到新版本中。最新版本随后可以独立更新，而不会影响早期版本。

仅最新版本可编辑，且您只能基于该版本创建新版本。较旧版本为只读。

API 契约主页显示您拥有的所有 API 以及与您共享的所有 API 版本。![API 契约主页。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/api-designer-homepage.png)

## 创建新 API 版本

创建现有 API 定义的新版本。

信息注释

备注：

您只能从最新版本创建新版本。较旧版本为只读，无法编辑或用于创建新版本。

您是该 API 的所有者，或者是该 API 至少一个版本的编辑者。

1. 在主页上，转到要为其创建新版本的 API。

   如有需要，您可以按名称或所有者筛选列表。
2. 打开最新版本以查看预览，然后点击创建新版本。

   ![Contacts API 和“创建新版本”按钮的视图。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/publish_version.png)
3. 输入新版本。
4. 单击创建。

已创建您的 API 的新版本，其内容与最新版本相同。Mock 和文档默认禁用。

## 将 API 版本发布到 Qlik Catalog

将 API 契约的版本发布到 Qlik 空间，以便协作者可以在 Qlik Catalog 中找到它。

您是 API 的所有者或 API 版本的编辑者。

当您发布版本时，契约版本在 API 契约 中将变为不可变且只读。若要进行更改，请从最新版本创建新版本，并继续在新版本上工作。

1. 在主页上，点击要发布的版本以打开预览，然后点击 发布。

   ![Contacts API 和“发布”按钮的视图。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/publish_version.png)
2. 在发布对话框中，选择要将版本发布到的 Qlik 空间。
3. 查看版本预览并输入发布说明。
4. 单击发布。

所选版本将发布到选定的 Qlik 空间，并在 API 契约中变为只读。如果需要再次编辑合同，请先创建一个新版本。

## 删除 API 版本

您是该 API 的所有者。

1. 在主页上，点击要删除的版本旁边的 ![菜单](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/apis_menu.png) 按钮，然后点击 删除。
2. 单击删除以确认。

所选版本已删除。如果您想要删除整个 API，则需要 删除每个版本。

## 导入版本内容

将现有协定中的内容导入到 API 版本中，替换或合并其当前内容。

您是 API 的所有者或 API 版本的编辑者。

使用此功能从外部合同文件更新版本，而无需创建新版本。版本标识符在整个导入过程中都会被保留。

这不同于[导入定义](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/APIDesigner/ImportingDefinition.htm "将现有 API 定义导入 API Contracts。")，这将在 API 契约中创建一个新的 API。

1. 打开要更新的版本的导入版本内容。

   此操作在只读版本中不可用。

   您可以从以下位置访问此操作：
   * 在主页上，点击版本旁边的 ![菜单](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/apis_menu.png)，然后点击导入版本内容。

     ![菜单按钮中的导入版本内容选项。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/import-version-content-2.png)
   * 在版本的预览中，点击 ![菜单](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/apis_menu.png) &gt; 导入版本内容。

     ![版本详情视图](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/import-version-content-3.png)
   * 在版本编辑器中，点击 编辑 &gt; 导入版本内容。

     ![版本编辑器中的导入版本内容选项。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/import-version-content.png)
2. 选择要导入的合同的格式和来源。

   您可以从本地文件、URL 或直接粘贴到对话框中的文本导入。
3. 在行为下，选择如何应用导入的内容。
   * 替换：使用导入的合同覆盖当前的所有内容。API 名称、版本标识符和规范版本均得以保留。
   * 合并：将导入的内容与现有版本内容合并。API 名称和版本标识符将被保留。如果导入的元素与现有元素同名，则导入的元素会被重命名并添加 \_merge 后缀（例如 User\_merge）。重复的基础 URL 和媒体类型将被跳过。

   ![“导入版本内容”对话框。](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/import-version-content-dialobox.png)
4. 单击导入。

版本编辑器打开，并应用更新后的内容。