Az erőforrásnév és a típuseltérés hibáinak elhárítása
Ez a cikk azt ismerteti, hogyan háríthatja el a hibát, ha az erőforrásnév formátuma nem egyezik meg az erőforrástípus formátumával.
Hibajelenség
Sablon üzembe helyezésekor hibaüzenet jelenik meg a hibakóddal InvalidTemplate
. Az üzenet azt jelzi, hogy az erőforrás típusa és a név nem egyezik. Azt javasolja, hogy a névben adja meg a szegmensek számát.
Ok
Az erőforrástípus tartalmazza az erőforrás-szolgáltató névterét és egy vagy több szegmenst a típusokhoz. Minden szegmens az erőforráshierarchia egy szintjét jelöli, és perjel választja el egymástól.
{resource-provider-namespace}/{type-segment-1}/{type-segment-2}
Az erőforrás neve egy vagy több szegmenst tartalmaz perjelekkel elválasztva. A szegmensek számának meg kell egyeznie az erőforrástípus számával.
{name-segment-1}/{name-segment-2}
Ha az erőforrás típusa és neve eltérő számú szegmenst tartalmaz, a hibaüzenet jelenik meg.
Megoldás
Győződjön meg arról, hogy ismeri az erőforrástípus szintjét. Például egy kulcstartó-erőforrás teljes erőforrástípusa a következő Microsoft.KeyVault/vaults
: . Figyelmen kívül hagyhatja az erőforrás-szolgáltató névterét (Microsoft.KeyVault), és a típusra (tárolókra) összpontosíthat. Egy szegmense van.
A kulcstartó titkos kódja a tároló gyermekerőforrása. Teljes erőforrástípusú Microsoft.KeyVault/vaults/secrets
. Ez az erőforrástípus két szegmensből áll (tárolók/titkos kódok).
A kulcstartó nevének megadásához adjon meg csak egy szegmenst, például examplevault123
: . A titkos kód nevének megadásához adjon meg két szegmenst, például examplevault123/examplesecret
: . Az első szegmens azt a kulcstartót jelzi, ahol a titkos kód található.
Az alábbi példában az erőforrásnév érvényes formátuma látható.
Hibaüzenet jelenik meg, ha egynél több szegmenst tartalmazó nevet adott meg.
resource kv 'Microsoft.KeyVault/vaults@2022-07-01' = {
name: 'contoso/examplevault123'
...
}
Ha gyermekerőforrást ágyaz be a szülőerőforrásba, csak az extra szegmenst adja meg. A teljes erőforrástípus és -név továbbra is tartalmazza a szülőerőforrás értékeit, de ezek az Ön számára vannak létrehozva. Az alábbi példában a típus és secrets
a név .examplesecret
resource kv 'Microsoft.KeyVault/vaults@2022-07-01' = {
name: 'examplevault123'
...
resource kvsecret 'secrets' = {
name: 'examplesecret'
properties: {
value: secretValue
}
}
}
Ha a szülőn kívül definiálja a gyermekerőforrást, adja meg a teljes erőforrástípust. JSON esetén adja meg a teljes erőforrásnevet.
A Bicep esetében használja a parent
tulajdonságot, és adja meg a szülőerőforrás szimbolikus nevét. A szülőtulajdonság használatakor a teljes név létrejön, így a gyermekerőforrás nevét egyetlen szegmensként adja meg.
resource kvsecret 'Microsoft.KeyVault/vaults/secrets@2022-07-01' = {
name: 'examplesecret'
parent: kv
properties: {
value: secretValue
}
}
resource kv 'Microsoft.KeyVault/vaults@2022-07-01' = {
name: 'examplevault123'
...
}
További információt a Gyermekerőforrások nevének és típusának beállítása a Bicepben vagy A gyermekerőforrások nevének és típusának beállítása ARM-sablonokban című témakörben talál.