Fouten voor namen van opslagaccounts oplossen

In dit artikel wordt beschreven hoe u fouten kunt oplossen voor Azure-opslagaccountnamen die kunnen optreden tijdens de implementatie met een Bicep-bestand of een ARM-sjabloon (Azure Resource Manager). Veelvoorkomende oorzaken voor een fout zijn een opslagaccountnaam met ongeldige tekens of een opslagaccount dat dezelfde naam gebruikt als een bestaand opslagaccount. Namen van opslagaccounts moeten wereldwijd uniek zijn in Azure.

Symptoom

Een ongeldige naam van het opslagaccount veroorzaakt een foutcode tijdens de implementatie. Hier volgen enkele voorbeelden van fouten voor opslagaccountnamen.

Accountnaam is ongeldig

Als de naam van uw opslagaccount verboden tekens bevat, zoals een hoofdletter of speciaal teken, zoals een uitroepteken.

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.

Ongeldige resourcelocatie

Als u een nieuw opslagaccount met dezelfde naam en in dezelfde resourcegroep probeert te implementeren, maar een andere locatie als een bestaand opslagaccount in uw Azure-abonnement gebruikt. De fout geeft aan dat het opslagaccount al bestaat en niet kan worden gemaakt op de nieuwe locatie. Selecteer een andere naam om het nieuwe opslagaccount te maken.

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.

Opslagaccount in een andere resourcegroep

Als u een nieuw opslagaccount wilt implementeren met dezelfde naam en locatie als een bestaand opslagaccount, maar in een andere resourcegroep in uw abonnement.

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

Opslagaccount al gebruikt

Als u probeert een nieuw opslagaccount te implementeren met dezelfde naam als een opslagaccount dat al bestaat in Azure. De naam van het bestaande opslagaccount kan zich in uw abonnement of tenant of ergens in Azure bevinden. Namen van opslagaccounts moeten wereldwijd uniek zijn in Azure.

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

Oorzaak

Veelvoorkomende redenen voor een fout zijn omdat de naam van het opslagaccount ongeldige tekens gebruikt of een dubbele naam is. Namen van opslagaccounts moeten voldoen aan de volgende criteria:

  • Lengte tussen 3 en 24 tekens met alleen kleine letters en cijfers.
  • Moet wereldwijd uniek zijn in Azure. Namen van opslagaccounts kunnen niet worden gedupliceerd in Azure.

Oplossing

U kunt een unieke naam maken door een voor- of achtervoegsel samen te brengen met een waarde uit de uniqueString functie.

In de volgende voorbeelden wordt een voorvoegsel opgegeven met de tekenreeks storage die is samengevoegd met de waarde uit uniqueString.

Bicep maakt gebruik van tekenreeksinterpolatie met uniqueString.

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

Zorg ervoor dat de naam van uw opslagaccount niet langer is dan 24 tekens. De uniqueString functie retourneert 13 tekens. Als u een voor- of achtervoegsel wilt samenvoegen, geeft u een waarde op van maximaal 11 tekens.

In de volgende voorbeelden wordt een parameter met de naam storageNamePrefix gebruikt waarmee een voorvoegsel van maximaal 11 tekens wordt gemaakt.

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

Vervolgens voegt u de waarde van de storageNamePrefix parameter samen met de uniqueString waarde om een opslagaccountnaam te maken.

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