Поделиться через


Устранение проблем с именами учетных записей для хранения

В этой статье описываются способы устранения ошибок, связанных с именами учетных записей хранения Azure, которые могут возникнуть во время развертывания с помощью файла Bicep или шаблона Azure Resource Manager (ARM). Распространенные причины ошибок — недопустимые символы в имени учетной записи хранения или использование уже существующего имени учетной записи хранения. Имена учетных записей хранения должны быть уникальными в среде Azure.

Симптом

Недопустимое имя учетной записи хранения вызывает ошибку во время развертывания. Ниже приведены некоторые примеры ошибок, связанных с именами учетных записей хранения.

Недопустимое имя учетной записи

Имя учетной записи хранения содержит недопустимые символы, например букву в верхнем регистре или специальный знак, такой как восклицательный знак.

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.

Недопустимое расположение ресурса

Вы пытаетесь развернуть новую учетную запись хранения с тем же именем и в той же группе ресурсов, что и у существующей учетной записи хранения в подписке Azure, но используете другое расположение. Эта ошибка означает, что учетная запись хранения уже существует и не может быть создана в новом расположении. Выберите другое имя, чтобы создать новую учетную запись хранения.

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.

Учетная запись хранения в другой группе ресурсов

Если вы пытаетесь развернуть новую учетную запись хранения с тем же именем и в том же расположении, что и у существующей, но в другой группе ресурсов в вашей подписке.

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

Имя учетной записи хранения уже занято

Если вы попробуете развернуть новую учетную запись хранения с тем же именем, что и существующая в Azure учетная запись хранения. Эта учетная запись хранения может находиться в вашей подписке, в вашем клиенте или в любом другом месте в Azure. Имена учетных записей хранения должны быть уникальными в среде Azure.

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

Существует две основные причины этой ошибки.

Причина 1

Имя учетной записи хранения использует недопустимые символы или является повторяющимся именем. Имена учетных записей хранения должны отвечать приведенным ниже требованиям.

  • Длина от 3 до 24 символов; только строчные буквы и цифры.
  • Должны быть глобально уникальными в Azure. Имена учетных записей хранения не могут повторяться в Azure.

Решение 1

Уникальное имя можно создать, объединив префикс или суффикс со значением из функции uniqueString.

В следующих примерах указывается префикс со строкой storage, объединенной со значением из uniqueString.

Bicep использует интерполяцию строк с uniqueString.

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

Следите за тем, чтобы длина имени учетной записи хранения не превышала 24 символа. Функция uniqueString возвращает 13 символов. Если вы хотите добавить префикс или суффикс, нужно указать значение, которое состоит из 11 символов или менее.

В следующих примерах используется параметр storageNamePrefix, который создает префикс длиной не более 11 символов.

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

Затем значение параметра storageNamePrefix сцепляется со значением uniqueString, чтобы получить имя учетной записи хранения.

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

Причина 2

Недавно удалена учетная запись хранения.

Если запрос на создание учетной записи хранения поступает из другой подписки и арендатора, отличного от того, где он находился ранее, он отклоняется по соображениям безопасности, как описано здесь, предотвращение зависших записей DNS и избежание захвата поддомена.

Решение 2

Создайте запрос на поддержку и выберите "Создать учетную запись хранения" для типа проблемы и "Сбои" во время создания учетной записи для подтипа проблемы. Обязательно укажите имя учетной записи хранения и приблизительное время, когда не удалось создать учетную запись.