Řešení chyb v názvech účtů úložiště

Tento článek popisuje, jak vyřešit chyby v názvech účtů úložiště Azure, ke kterým může dojít během nasazení pomocí souboru Bicep nebo šablony Azure Resource Manager (šablony ARM). Mezi běžné příčiny chyby patří název účtu úložiště s neplatnými znaky nebo účet úložiště, který používá stejný název jako existující účet úložiště. Názvy účtů úložiště musí být globálně jedinečné v rámci Azure.

Příznak

Neplatný název účtu úložiště způsobí během nasazování kód chyby. Následuje několik příkladů chyb v názvech účtů úložiště.

Neplatný název účtu

Pokud název vašeho účtu úložiště obsahuje zakázané znaky, například velké písmeno nebo speciální znak, jako je vykřičník.

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.

Neplatné umístění prostředku

Pokud se pokusíte nasadit nový účet úložiště se stejným názvem a ve stejné skupině prostředků, ale použijete jiné umístění jako existující účet úložiště ve vašem předplatném Azure. Tato chyba značí, že účet úložiště už existuje a v novém umístění se nedá vytvořit. Vyberte jiný název a vytvořte nový účet úložiště.

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.

Účet úložiště v jiné skupině prostředků

Pokud se pokusíte nasadit nový účet úložiště se stejným názvem a umístěním jako existující účet úložiště, ale v jiné skupině prostředků ve vašem předplatném.

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

Účet úložiště se už používá

Pokud se pokusíte nasadit nový účet úložiště se stejným názvem jako účet úložiště, který už v Azure existuje. Název existujícího účtu úložiště může být ve vašem předplatném, tenantovi nebo kdekoli v Azure. Názvy účtů úložiště musí být globálně jedinečné v rámci Azure.

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

Příčina

Mezi běžné důvody chyby patří to, že název účtu úložiště používá neplatné znaky nebo se jedná o duplicitní název. Názvy účtů úložiště musí splňovat následující kritéria:

  • Délka mezi 3 a 24 znaky, pouze malá písmena a číslice.
  • Musí být globálně jedinečný v rámci Azure. Názvy účtů úložiště se v Azure nedají duplikovat.

Řešení

Jedinečný název můžete vytvořit zřetězením předpony nebo přípony s hodnotou z uniqueString funkce.

Následující příklady určují předponu s řetězcem storage , který je zřetězený s hodnotou z uniqueString.

Bicep používá interpolaci řetězců s řetězcem uniqueString.

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

Ujistěte se, že název účtu úložiště není delší než 24 znaků. Funkce uniqueString vrátí 13 znaků. Pokud chcete zřetězení předpony nebo přípony, zadejte hodnotu, která má méně než 11 znaků.

Následující příklady používají parametr s názvem storageNamePrefix , který vytvoří předponu s maximální délkou 11 znaků.

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

Pak zřetězením hodnoty parametru storageNamePrefixuniqueString s hodnotou vytvoříte název účtu úložiště.

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