在可能或可能不存在的资源上调用函数时,会发生此诊断,这可能导致部署失败。
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 核心诊断。