다음을 통해 공유

Bicep 诊断代码 - BCP422

在可能或可能不存在的资源上调用函数时,会发生此诊断,这可能导致部署失败。

Description

调用此函数时,资源类型的<>资源可能或可能不存在,这可能导致部署失败。

级别

警告

例子

以下示例引发诊断,因为调用此函数时资源可能不存在,这可能导致部署失败。

param createStorage bool
param location string = resourceGroup().location

resource stg 'Microsoft.Storage/storageAccounts@2025-01-01' = if (createStorage) {
  name: 'sa${uniqueString(resourceGroup().id)}'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

@secure()
output out object = stg.listKeys()

如果确定将创建资源,则可以使用 null forgiving 运算符 告诉编译器它是安全的:

param createStorage bool
param location string = resourceGroup().location

resource stg 'Microsoft.Storage/storageAccounts@2023-05-01' = if (createStorage) {
  name: 'sa${uniqueString(resourceGroup().id)}'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

@secure()
output out object = stg!.listKeys()

后续步骤

有关 Bicep 诊断的详细信息,请参阅 Bicep 核心诊断