Udostępnij przez


Kod diagnostyczny Bicep — BCP422

Ta diagnostyka występuje podczas wywoływania funkcji w zasobie, który może lub nie istnieje, co może spowodować niepowodzenie wdrożenia.

Description

Zasób typu <> zasobu może lub nie istnieje, gdy ta funkcja jest wywoływana, co może spowodować niepowodzenie wdrożenia.

Level

Ostrzeżenie

Przykłady

Poniższy przykład zgłasza diagnostykę, ponieważ zasób może lub nie istnieje po wywołaniu tej funkcji, co może spowodować niepowodzenie wdrożenia.

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()

Jeśli masz pewność, że zasób zostanie utworzony, możesz użyć operatora forgiving o wartości null , aby poinformować kompilator, że jest bezpieczny:

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()

Dalsze kroki

Aby uzyskać więcej informacji na temat diagnostyki Bicep, zobacz Diagnostyka rdzenia Bicep.