Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Diagnose tritt auf, wenn man einer Eigenschaft einen Wert zuweist, deren erwarteter Datentyp nicht mit dem Typ des zugewiesenen Wertes kompatibel ist.
Description
Der Eigenschaftsname> der Eigenschaft <erwartete einen Wert vom Typ <Datentyp,> aber der angegebene Wert ist vom Typ <Datentyp.>
Ebene
Warnung / Fehler
Lösung
Weisen Sie einen Wert mit dem richtigen Datentyp zu.
Beispiele
Das folgende Beispiel erhebt die Diagnose, da sku als Zeichenkette definiert ist, nicht als ganzzahlige Zeichen:
type storageAccountConfigType = {
name: string
sku: string
}
param foo storageAccountConfigType = {
name: 'myStorage'
sku: 2
}
Sie können das Problem beheben, indem Sie einen Zeichenfolgenwert zuweisen zu sku:
type storageAccountConfigType = {
name: string
sku: string
}
param foo storageAccountConfigType = {
name: 'myStorage'
sku: 'Standard_LRS'
}
Das folgende Beispiel erhebt die Diagnose, da die accessPolicies Eigenschaft ein Array einzelner AccessPolicyEntry Objekte erwartet. Die verschachtelten Klammern [ ... ] innerhalb der Schleife erzeugen ein Array von Arrays.
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']
}
}
]
]
}
}
Die Lösung besteht darin, die unnötigen Array-Klammern ([]) um das erzeugte Element innerhalb der Schleife zu entfernen. Dies erzeugt ein Array einzelner AccessPolicyEntry-Objekte, wie von der Eigenschaft accessPolicies erwartet.
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']
}
}
]
}
}
Nächste Schritte
Weitere Informationen zur Bicep-Diagnose finden Sie unter Bicep-Kerndiagnose.