Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta diagnostyka zachodzi, gdy przypisujesz wartość właściwości, której oczekiwany typ danych nie jest zgodny z typem przypisanej wartości.
Description
Własność-nazwa <> oczekiwała wartości typu <data-type>, ale podana wartość to typ <data-type>.
Level
Ostrzeżenie / Błąd
Rozwiązanie
Przypisz wartość z poprawnym typem danych.
Przykłady
Poniższy przykład podnosi problem diagnostyczny, ponieważ sku jest definiowany jako ciąg znaków, a nie liczba całkowita:
type storageAccountConfigType = {
name: string
sku: string
}
param foo storageAccountConfigType = {
name: 'myStorage'
sku: 2
}
Problem można rozwiązać, przypisując wartość ciągu do sku:
type storageAccountConfigType = {
name: string
sku: string
}
param foo storageAccountConfigType = {
name: 'myStorage'
sku: 'Standard_LRS'
}
Poniższy przykład podnosi poziom diagnostyczny, ponieważ accessPolicies własność oczekuje tablicy pojedynczych AccessPolicyEntry obiektów. Zagnieżdżone nawiasy [ ... ] wewnątrz pętli powodują, że tworzy ona tablicę tablic.
param principalIds array = [
'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy'
]
resource keyVault 'Microsoft.KeyVault/vaults@2021-10-01' = {
name: 'my-kv-001'
location: resourceGroup().location
properties: {
tenantId: subscription().tenantId
sku: {
family: 'A'
name: 'standard'
}
accessPolicies: [
for principalId in principalIds: [ // <--- The extra array brackets here [ ]
{
objectId: principalId
tenantId: subscription().tenantId
permissions: {
secrets: ['Get', 'List']
}
}
]
]
}
}
Rozwiązaniem jest usunięcie niepotrzebnych nawiasów tablicowych ([]) wokół przedmiotu generowanego wewnątrz pętli. To utworzy tablicę pojedynczych obiektów AccessPolicyEntry, zgodnie z oczekiwaniami tej accessPolicies właściwości.
param principalIds array = [
'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
'yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy'
]
resource keyVault 'Microsoft.KeyVault/vaults@2021-10-01' = {
name: 'my-kv-001'
location: resourceGroup().location
properties: {
tenantId: subscription().tenantId
sku: {
family: 'A'
name: 'standard'
}
accessPolicies: [
for principalId in principalIds: {
objectId: principalId
tenantId: subscription().tenantId
permissions: {
secrets: ['Get', 'List']
}
}
]
}
}
Następne kroki
Aby uzyskać więcej informacji na temat diagnostyki Bicep, zobacz Diagnostyka rdzenia Bicep.