Tárfióknevek hibáinak elhárítása

Ez a cikk azt ismerteti, hogyan háríthatja el az Azure Storage-fióknevek bicep-fájllal vagy Azure Resource Manager-sablonnal (ARM-sablonnal) történő üzembe helyezés során előforduló hibáit. A hibák gyakori okai a tárfiók neve érvénytelen karakterekkel, vagy olyan tárfiók, amely ugyanazt a nevet használja, mint egy meglévő tárfiók. A tárfiókok nevének globálisan egyedinek kell lennie az Azure-ban.

Hibajelenség

Az érvénytelen tárfióknév hibakódot okoz az üzembe helyezés során. Az alábbiakban néhány példát láthat a tárfiókok neveivel kapcsolatos hibákra.

A fióknév érvénytelen

Ha a tárfiók neve tiltott karaktereket tartalmaz, például nagybetűt vagy speciális karaktert, például felkiáltójelet.

Code=AccountNameInvalid
Message=S!torageckrexph7isnoc is not a valid storage account name. Storage account name must be
between 3 and 24 characters in length and use numbers and lower-case letters only.

Érvénytelen erőforrás-hely

Ha új tárfiókot próbál üzembe helyezni ugyanazzal a névvel és ugyanabban az erőforráscsoportban, de egy másik helyet használ, mint egy meglévő tárfiókot az Azure-előfizetésében. A hiba azt jelzi, hogy a tárfiók már létezik, és nem hozható létre az új helyen. Válasszon másik nevet az új tárfiók létrehozásához.

Code=InvalidResourceLocation
Message=The resource 'storageckrexph7isnoc' already exists in location 'westus'
in resource group 'demostorage'. A resource with the same name cannot be created in location 'eastus'.
Please select a new resource name.

Tárfiók egy másik erőforráscsoportban

Ha olyan új tárfiókot próbál üzembe helyezni, amelynek neve és helye megegyezik egy meglévő tárfiókkal, de az előfizetés egy másik erőforráscsoportjában található.

Code=StorageAccountInAnotherResourceGroup
Message=The account storageckrexph7isnoc is already in another resource group in this subscription.

A tárfiók már meg van véve

Ha olyan új tárfiókot próbál üzembe helyezni, amelynek neve megegyezik az Azure-ban már létező tárfiók nevével. Előfordulhat, hogy a meglévő tárfiók neve szerepel az előfizetésben vagy a bérlőben, vagy bárhol az Azure-ban. A tárfiókok nevének globálisan egyedinek kell lennie az Azure-ban.

Code=StorageAccountAlreadyTaken
Message=The storage account named storageckrexph7isnoc is already taken.

Ok

A hibák gyakori okai az, hogy a tárfiók neve érvénytelen karaktereket használ, vagy ismétlődő név. A tárfiókok nevének meg kell felelnie a következő feltételeknek:

  • 3 és 24 karakter közötti hossz, csak kisbetűkkel és számokkal.
  • Globálisan egyedinek kell lennie az Azure-ban. A tárfiókok nevei nem duplikálhatók az Azure-ban.

Megoldás

Egyedi nevet úgy hozhat létre, ha összefűz egy előtagot vagy utótagot a uniqueString függvény értékével.

Az alábbi példák egy olyan előtagot adnak meg, amelynek a sztringje storage össze van fűzve a következő értékével uniqueString: .

A Bicep sztring interpolációt és uniqueStringet használ.

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: 'storage${uniqueString(resourceGroup().id)}'

Győződjön meg arról, hogy a tárfiók neve nem haladja meg a 24 karaktert. A uniqueString függvény 13 karaktert ad vissza. Ha össze szeretne fűzni egy előtagot vagy utótagot, adjon meg 11 karakternél rövidebb értéket.

Az alábbi példák egy nevű storageNamePrefix paramétert használnak, amely legfeljebb 11 karakterből álló előtagot hoz létre.

@description('The prefix value for the storage account name.')
@maxLength(11)
param storageNamePrefix string = 'storage'

Ezután összefűzi a storageNamePrefix paraméter értékét az uniqueString értékkel, hogy létrehozhasson egy tárfióknevet.

name: '${storageNamePrefix}${uniqueString(resourceGroup().id)}'