Řešeníchybýchch
Tento článek popisuje, jak vyřešit chyby názvů účtů úložiště Azure, ke kterým může dojít během nasazení pomocí souboru Bicep nebo šablony Azure Resource Manageru (šablona 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říznaky
Neplatný název účtu úložiště způsobí kód chyby během nasazování. Tady jsou některé příklady chyb pro názvy účtů úložiště.
Neplatný název účtu
Pokud název úč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 nejde ho vytvořit v novém umístění. 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ě už byl pořízen.
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 nebo 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.
Tato chyba má dvě hlavní příčiny.
Příčina 1
Název účtu úložiště používá neplatné znaky nebo je 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ými písmeny a číslicemi.
- Musí být globálně jedinečný v rámci Azure. V Azure nejde duplikovat názvy účtů úložiště.
Řešení 1
Jedinečný název můžete vytvořit tak, že 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 uniqueString.
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
Ujistěte se, že název vašeho účtu úložiště nepřekračuje 24 znaků. Funkce uniqueString
vrátí 13 znaků. Pokud chcete zřetězení předpony nebo přípony, zadejte hodnotu, která je 11 znaků nebo menší.
Následující příklady používají parametr s názvem storageNamePrefix
, který vytvoří předponu s maximálně 11 znaky.
@description('The prefix value for the storage account name.')
@maxLength(11)
param storageNamePrefix string = 'storage'
Pak zřetězení hodnoty parametru storageNamePrefix
s uniqueString
hodnotou pro vytvoření názvu účtu úložiště.