Bicep 中的现有资源

若要引用当前 Bicep 文件中未部署的现有资源,请声明具有 existing 关键字的资源。 部署需要从现有资源获取值的资源时,请使用 existing 关键字。 可以通过现有资源的符号名称访问其属性。

使用 existing 关键字引用资源时,不会重新部署该资源。

相同的范围

以下示例获取当前部署的资源组中的现有存储帐户。 请注意,仅提供现有资源的名称。 属性通过符号名称提供。

resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' existing = {
  name: 'examplestorage'
}

output blobEndpoint string = stg.properties.primaryEndpoints.blob

不同范围

设置 scope 属性以访问另一范围内的资源。 以下示例引用不同资源组中的现有存储帐户。

resource stg 'Microsoft.Storage/storageAccounts@2019-06-01' existing = {
  name: 'examplestorage'
  scope: resourceGroup(exampleRG)
}

output blobEndpoint string = stg.properties.primaryEndpoints.blob

有关设置范围的详细信息,请参阅 Bicep 的范围函数

疑难解答

如果尝试引用不存在的资源,则将出现 NotFound 错误,并且部署将失败。 检查尝试引用的资源的名称和范围。

后续步骤

有关用于部署资源的语法,请参阅 Bicep 中的资源声明