Resolver erros para nomes de conta de armazenamento
Este artigo descreve como resolver erros para nomes de conta de armazenamento Azure que podem ocorrer durante a implementação com um ficheiro Bicep ou modelo Azure Resource Manager (modelo ARM). Causas comuns para um erro são um nome de conta de armazenamento com caracteres inválidos ou uma conta de armazenamento que usa o mesmo nome que uma conta de armazenamento existente. Os nomes das contas de armazenamento devem ser globalmente únicos em todo o Azure.
Sintoma
Um nome de conta de armazenamento inválido causa um código de erro durante a implementação. Seguem-se alguns exemplos de erros para os nomes das contas de armazenamento.
Nome da conta inválido
Se o nome da sua conta de armazenamento incluir caracteres proibidos, como uma letra maiúscula ou um personagem especial como um ponto de exclamação.
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.
Localização de recursos inválidos
Se tentar implementar uma nova conta de armazenamento com o mesmo nome e no mesmo grupo de recursos, utilize uma localização diferente como uma conta de armazenamento existente na sua subscrição Azure. O erro indica que a conta de armazenamento já existe e não pode ser criada no novo local. Selecione um nome diferente para criar a nova conta de armazenamento.
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.
Conta de armazenamento em outro grupo de recursos
Se tentar implantar uma nova conta de armazenamento com o mesmo nome e localização que uma conta de armazenamento existente, mas num grupo de recursos diferente na sua subscrição.
Code=StorageAccountInAnotherResourceGroup
Message=The account storageckrexph7isnoc is already in another resource group in this subscription.
Conta de armazenamento já tomada
Se tentar implantar uma nova conta de armazenamento com o mesmo nome que uma conta de armazenamento que já existe em Azure. O nome da conta de armazenamento existente pode estar na sua assinatura ou inquilino, ou em qualquer lugar em Azure. Os nomes das contas de armazenamento devem ser globalmente únicos em todo o Azure.
Code=StorageAccountAlreadyTaken
Message=The storage account named storageckrexph7isnoc is already taken.
Causa
As razões comuns para um erro são porque o nome da conta de armazenamento usa caracteres inválidos ou é um nome duplicado. Os nomes das contas de armazenamento devem satisfazer os seguintes critérios:
- Comprimento entre 3 e 24 caracteres com apenas letras e números minúsculos.
- Deve ser globalmente único em todo o Azure. Os nomes das contas de armazenamento não podem ser duplicados em Azure.
Solução
Pode criar um nome único concedendo um prefixo ou sufixo com um valor da uniqueString
função.
Os exemplos a seguir especificam um prefixo com a corda storage
que é concatenada com o valor de uniqueString
.
Bicep usa interpolação de cordas com um ExclusivoString.
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
Certifique-se de que o nome da sua conta de armazenamento não exceda 24 caracteres. A uniqueString
função devolve 13 caracteres. Se quiser concatenar um prefixo ou sufixo, forneça um valor que seja de 11 caracteres ou menos.
Os exemplos a seguir usam um parâmetro nomeado storageNamePrefix
que cria um prefixo com um máximo de 11 caracteres.
@description('The prefix value for the storage account name.')
@maxLength(11)
param storageNamePrefix string = 'storage'
Em seguida, concatena o storageNamePrefix
valor do parâmetro com o uniqueString
valor para criar um nome de conta de armazenamento.