Mengatasi kesalahan untuk nama akun penyimpan

Artikel ini menjelaskan cara mengatasi kesalahan untuk nama akun penyimpanan Azure yang dapat terjadi selama penyebaran dengan file Bicep atau templat Azure Resource Manager (templat ARM). Penyebab umum kesalahan adalah nama akun penyimpanan dengan karakter yang tidak valid atau akun penyimpanan yang menggunakan nama yang sama dengan akun penyimpanan yang ada. Nama akun penyimpanan harus unik secara global di seluruh Azure.

Gejala

Nama akun penyimpanan yang tidak valid menyebabkan adanya kode kesalahan selama penyebaran. Berikut ini adalah beberapa contoh kesalahan untuk nama akun penyimpanan.

Nama akun tidak valid

Jika nama akun penyimpanan Anda menyertakan karakter terlarang, seperti huruf besar atau karakter khusus seperti tanda seru.

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.

Lokasi sumber daya tidak valid

Jika Anda mencoba menggunakan akun penyimpanan baru dengan nama yang sama dan dalam grup sumber daya yang sama, tetapi menggunakan lokasi yang berbeda sebagai akun penyimpanan yang sudah ada di langganan Azure Anda. Kesalahan menunjukkan bahwa akun penyimpanan sudah ada dan tidak dapat dibuat di lokasi baru. Pilih nama yang berbeda untuk membuat akun penyimpanan baru.

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.

Akun penyimpanan di grup sumber daya lain

Jika Anda mencoba menggunakan akun penyimpanan baru dengan nama dan lokasi yang sama dengan akun penyimpanan yang ada tetapi dalam grup sumber daya yang berbeda dalam langganan Anda.

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

Akun penyimpanan sudah diambil

Jika Anda mencoba menyebarkan akun penyimpanan baru dengan nama yang sama dengan akun penyimpanan yang sudah ada di Azure. Nama akun penyimpanan yang ada mungkin ada di langganan atau penyewa Anda, atau di mana saja di Azure. Nama akun penyimpanan harus unik secara global di seluruh Azure.

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

Penyebab

Alasan umum terjadinya kesalahan adalah karena nama akun penyimpanan menggunakan karakter yang tidak valid atau merupakan nama duplikat. Nama akun penyimpanan harus memenuhi kriteria berikut:

  • Panjangnya antara 3 dan 24 karakter dengan hanya huruf kecil dan angka.
  • Harus unik secara global di seluruh Azure. Nama akun penyimpanan tidak dapat diduplikasi di Azure.

Solusi

Anda dapat membuat nama unik dengan menggabungkan awalan atau akhiran dengan nilai dari fungsi uniqueString.

Contoh berikut menentukan awalan dengan string storage yang digabungkan dengan nilai dari uniqueString.

Bicep menggunakan interpolasi untai dengan uniqueString.

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

Pastikan nama akun penyimpanan Anda tidak melebihi 24 karakter. Fungsi uniqueString menghasilkan 13 karakter. Jika Anda ingin menggabungkan awalan atau akhiran, berikan nilai 11 karakter atau kurang.

Contoh berikut menggunakan parameter bernama storageNamePrefix yang membuat awalan dengan maksimum 11 karakter.

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

Kemudian gabungkan nilai parameter storageNamePrefix dengan nilai uniqueString untuk membuat nama akun penyimpanan.

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