Resolver erros para nomes de contas de armazenamento
Este artigo descreve como resolver erros para nomes de conta de armazenamento do Azure que podem ocorrer durante a implantação com um arquivo Bicep ou modelo do Azure Resource Manager (modelo ARM). As 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 de uma conta de armazenamento existente. Os nomes de conta de armazenamento devem ser globalmente exclusivos no Azure.
Sintoma
Um nome de conta de armazenamento inválido causa um código de erro durante a implantação. A seguir estão alguns exemplos de erros para nomes de 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 caractere 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.
Local de recurso inválido
Se você tentar implantar uma nova conta de armazenamento com o mesmo nome e no mesmo grupo de recursos, mas usar um local diferente como uma conta de armazenamento existente em sua assinatura do 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 você tentar implantar uma nova conta de armazenamento com o mesmo nome e local de uma conta de armazenamento existente, mas em um grupo de recursos diferente em sua assinatura.
Code=StorageAccountInAnotherResourceGroup
Message=The account storageckrexph7isnoc is already in another resource group in this subscription.
Conta de armazenamento já tomada
Se você tentar implantar uma nova conta de armazenamento com o mesmo nome de uma conta de armazenamento que já existe no Azure. O nome da conta de armazenamento existente pode estar na sua subscrição ou inquilino, ou em qualquer lugar no Azure. Os nomes de conta de armazenamento devem ser globalmente exclusivos no Azure.
Code=StorageAccountAlreadyTaken
Message=The storage account named storageckrexph7isnoc is already taken.
Existem duas causas principais para este erro.
Motivo 1
O nome da conta de armazenamento usa caracteres inválidos ou é um nome duplicado. Os nomes das contas de armazenamento devem atender aos seguintes critérios:
- Comprimento entre 3 e 24 caracteres apenas com letras minúsculas e números.
- Deve ser globalmente exclusivo no Azure. Os nomes de contas de armazenamento não podem ser duplicados no Azure.
Solução 1
Você pode criar um nome exclusivo concatenando um prefixo ou sufixo com um valor da uniqueString
função.
Os exemplos a seguir especificam um prefixo com a cadeia de caracteres storage
concatenada com o valor de uniqueString
.
Bicep usa interpolação de cadeia de caracteres com uniqueString.
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
name: 'storage${uniqueString(resourceGroup().id)}'
Verifique se o nome da sua conta de armazenamento não excede 24 caracteres. A uniqueString
função retorna 13 caracteres. Se quiser concatenar um prefixo ou sufixo, forneça um valor de 11 caracteres ou menos.
Os exemplos a seguir usam um parâmetro chamado 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.