Código diagnóstico do Bicep - BCP321

Esse diagnóstico ocorre quando o compilador espera um valor de um tipo, mas você fornece algo de um tipo diferente ou nulo.

Description

Espera-se um valor do tipo <esperado,> mas o valor fornecido é do tipo <atual> | nulo".

Nível

Warning

Solutions

Use o tipo esperado. Se você tiver certeza de que o valor nunca será nulo, use o operador que permite valor nulo para informar ao compilador que ele é seguro.

Exemplos

O exemplo a seguir eleva o diagnóstico porque first(accounts) é possivelmente nulo se o array pudesse estar vazio:

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)

Você pode corrigir o diagnóstico usando o operador que permite valor nulo:

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

Próximas Etapas 

Para obter mais informações sobre o diagnóstico do Bicep, consulte o diagnóstico principal do Bicep.