Ř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 storageNamePrefix
uniqueString
s hodnotou vytvoříte název účtu úložiště.