使用 Azure 门户导出模板
为了帮助创建 Azure 资源管理器模板,可以从现有的资源导出模板。 导出的模板可帮助你了解用于部署资源的 JSON 语法和属性。 若要自动完成将来的部署,可从导出的模板着手,根据具体的方案修改此模板。 导出模板过程会尝试创建可用的模板。 但是,大多数导出的模板需要进行一些修改才能用于部署 Azure 资源。
在资源管理器中,可以选择一个或多个要导出到模板的资源。 你可以完全专注于模板中所需的资源。
本文介绍如何通过门户导出模板。 有关其他选项,请参阅:
选择适当的导出选项
可以通过两种方式来导出模板:
从资源组或资源导出。 此选项基于现有的资源生成新模板。 导出的模板是资源组当前状态的“快照”。 可以导出整个资源组,或该资源组中的特定资源。
从历史记录中保存。 此选项检索用于部署的确切模板副本。 从部署历史记录中指定部署。
根据所选的选项,导出的模板具有不同的质量。
从资源组或资源 | 从历史记录 |
---|---|
模板是自动生成的。 在部署代码之前,你可能要对其进行改进。 | 模板是模板作者创建的模板的精确副本。 无需任何更改即可重新部署。 |
模板是资源当前状态的快照。 其中包含你在部署之后所做的任何手动更改。 | 模板仅显示资源在部署时的状态。 不包含部署之后所做的任何手动更改。 |
可以从资源组中选择要导出的资源。 | 包含特定部署的所有资源。 不能选取其中的一部分资源,或者包含在不同时间添加的资源。 |
模板包含资源的所有属性,包括部署过程中通常不会设置的某些属性。 在重复使用模板之前,你可能需要删除或清理这些属性。 | 模板仅包含部署所需的属性。 模板更稀疏且更易于阅读。 |
模板可能不包含重复使用它所需的所有参数。 大多数属性值在模板中已硬编码。 若要在其他环境中重新部署模板,需要添加参数,以提高配置资源的能力。 可以取消选择“包括参数”,这样就可以创作自己的参数 。 | 模板包含一些参数以方便在不同的环境中重新部署。 |
在以下情况下,请从资源组或资源导出模板:
- 需要捕获在原始部署之后对资源所做的更改。
- 想要选择要导出的资源。
- 资源不是使用模板创建的。
执行以下操作时,从历史记录中导出模板:
- 想要一个易于重复使用的模板。
- 不需要包含原始部署之后所做的更改。
限制
导出不一定成功。 导出不是将预先存在的资源转换为可在生产中使用的模板的可靠方法。 最好使用手写的 Bicep 文件、ARM 模板 或 terraform 从头开始创建资源。
从资源组或资源进行导出时,将通过每种资源类型的已发布架构生成导出的模板。 有时,架构没有资源类型的最新版本。 检查导出的模板,确保其包含所需的属性。 如有必要,请编辑导出的模板,以使用所需的 API 版本。
导出的模板中可能缺少某些密码参数。 需要检查模板参考,并手动添加这些参数,然后才能使用模板部署资源。
导出模板功能不支持导出 Azure 数据工厂资源。 若要了解如何导出数据工厂资源,请参阅在 Azure 数据工厂中复制或克隆数据工厂。
若要导出通过经典部署模型创建的资源,必须将其迁移到资源管理器部署模型。
如果在导出模板时收到警告,指示未导出某个资源类型,则仍然可以发现该资源的属性。 还可以查看该资源类型的 Azure REST API。
为其创建导出模板的资源组中存在 200 个资源的限制。 如果尝试导出超过 200 个资源的资源组,则会显示“Export template is not supported for resource groups more than 200 resources
”错误消息。
从资源组导出模板
若要从资源组中导出一个或多个资源:
选择包含所要导出的资源的资源组。
通过选中相应的复选框选择一个或多个资源。 若要全选,请选中名称左侧的复选框。 顶部菜单中的“导出模板”只有在你选择了至少一个资源之后才会启用。
从顶部菜单中选择“导出模板”。 左侧菜单中的“导出模板”将组中的所有资源导出到模板。
此时将显示导出的模板,并且该模板可供下载和部署。
“包括参数”默认情况下已选中。 如果选中,生成模板时将包括所有模板参数。 如果希望创作自己的参数,请将此复选框切换为不包括参数。
从资源导出模板
导出一个资源:
选择包含所要导出的资源的资源组。
选择要导出的资源以打开资源。
在左窗格中选择该资源对应的“导出模板”。
此时将显示导出的模板,并且该模板可供下载和部署。 模板只包含单个资源。 “包括参数”默认情况下已选中。 如果选中,生成模板时将包括所有模板参数。 如果希望创作自己的参数,请将此复选框切换为不包括参数。
在部署之后导出模板
可以导出用于部署现有资源的模板。 获取的模板正是用于部署的模板。
选择要导出的资源组。
选择“部署”下的链接。
从部署历史记录中选择一个部署。
选择“模板”。 随后,用于此部署的模板将会显示,并可供下载。
后续步骤
- 了解如何使用 Azure CLI、Azure PowerShell 或 REST API 导出模板。
- 若要了解资源管理器模板语法,请参阅了解 Azure 资源管理器模板的结构和语法。
- 若要了解如何开发模板,请参阅分步教程。