Azure ARM 模板 - 访问由一个 ARM 模板在另一个 ARM 模板中创建的资源 ID

js

1个回答

写回答

wgm358898296

2025-06-21 13:00

+ 关注

JS
JS

在使用Azure资源管理器(Azure Resource Manager,简称ARM)模板创建资源时,有时需要在一个ARM模板中引用另一个ARM模板所创建的资源。这种方式可以实现资源的复用和依赖关系的管理,提高部署效率和可维护性。本文将介绍如何在ARM模板中访问由另一个ARM模板创建的资源ID,并提供一个案例代码来演示这个过程。

案例代码

下面是一个简单的案例代码,展示了如何在一个ARM模板中使用“reference”函数来获取另一个ARM模板创建的资源的ID。

JSon

{

"$schema": "JSon#">https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.JSon#</a>",

"contentVersion": "1.0.0.0",

"parameters": {

"existingResourceGroupName": {

"type": "string",

"Metadata": {

"description": "The name of the existing resource group."

}

},

"existingTemplateName": {

"type": "string",

"Metadata": {

"description": "The name of the existing ARM template."

}

},

"existingResourceName": {

"type": "string",

"Metadata": {

"description": "The name of the existing resource."

}

}

},

"variables": {},

"resources": [],

"outputs": {

"existingResourceId": {

"type": "string",

"value": "[reference(resourceId(parameters('existingResourceGroupName'), 'Microsoft.Resources/deployments', parameters('existingTemplateName'))).outputs['existingResourceId']]"

}

}

}

在上述案例代码中,我们定义了三个参数:existingResourceGroupNameexistingTemplateNameexistingResourceName,分别表示现有资源所在的资源组名称、ARM模板名称和资源名称。

outputs节中,我们使用了reference函数来获取另一个ARM模板创建的资源的ID。reference函数的第一个参数是资源的ID,通过resourceId函数来构造,其中包含了现有资源所在的资源组名称、ARM模板的类型和名称。reference函数的outputs属性用于获取另一个ARM模板输出的属性值,我们使用了existingResourceId属性来获取资源的ID。

通过这样的方式,我们可以在一个ARM模板中访问由另一个ARM模板创建的资源的ID,从而实现资源间的依赖关系和复用。

使用reference函数获取资源ID

在上述案例代码中,我们使用了reference函数来获取另一个ARM模板创建的资源的ID。reference函数可以用于访问资源组、部署、资源和输出的属性。通过在ARM模板中使用reference函数,我们可以方便地获取另一个ARM模板创建的资源的属性值,实现资源间的依赖和复用。

本文介绍了如何在Azure ARM模板中访问由另一个ARM模板创建的资源的ID。通过使用reference函数,我们可以轻松地获取另一个ARM模板创建的资源的属性值,实现资源间的依赖关系和复用。使用ARM模板可以提高资源的部署效率和可维护性,是Azure云平台中重要的一部分。

希望本文对您理解如何在ARM模板中访问由另一个ARM模板创建的资源ID有所帮助。如有任何疑问,请随时咨询。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号