Устранение ошибок имен учетной записи хранения
В этой статье описываются способы устранения ошибок, связанных с именами учетных записей хранения 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.
Причина
Распространенные причины ошибок — использование недопустимых символов в имени учетной записи хранения или повторяющиеся имена. Имена учетных записей хранения должны отвечать приведенным ниже требованиям.
- Длина от 3 до 24 символов; только строчные буквы и цифры.
- Должны быть глобально уникальными. Имена учетных записей хранения не могут повторяться в Azure.
Решение
Уникальное имя можно создать, объединив префикс или суффикс со значением из функции 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
, чтобы получить имя учетной записи хранения.