Code de diagnostic du Bicep - BCP321

Ce diagnostic se produit lorsque le compilateur attend une valeur d’un type mais que vous fournissez quelque chose d’un type différent ou null.

Description

Espérons une valeur de type <attendu> mais la valeur fournie est de type <> actuel | nulle ».

Level

Avertissement

Solutions

Utilisez le type attendu. Si vous êtes certain que la valeur ne sera jamais null, utilisez l’opérateur null-forgiving pour indiquer au compilateur qu’il est sûr.

Exemples

L’exemple suivant élève le diagnostic car first(accounts) est possiblement nul si le tableau pouvait être vide :

param storageCount int
param location string = resourceGroup().location

resource accounts 'Microsoft.Storage/storageAccounts@2023-05-01' = [for i in range(0, storageCount):{
  name: 'sa${i}'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}]

output firstOne object = first(accounts)

Vous pouvez corriger le diagnostic à l’aide de l’opérateur null-forgiving :

param storageCount int
param location string = resourceGroup().location

resource accounts 'Microsoft.Storage/storageAccounts@2023-05-01' = [for i in range(0, storageCount):{
  name: 'sa${i}'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}]

output firstOne object = first(accounts)!

Étapes suivantes

Pour plus d’informations sur les diagnostics Bicep, consultez diagnostics principaux Bicep.