Azure ストレージ アカウントを作成するときにちょっとハマった
Windows Azure で Azure ストレージを利用する場合、ストレージ アカウントを作成する必要がありますが、Windows Azure PowerShell も公開されていることですし、Web 上のポータル サイトで GUI をポチポチせずとも常に起動しっぱなしの PowerShell でサッと作ってしまおうと思うわけです。こんな風に。
PS > New-AzureStorageAccount -StorageAccountName "azureStorage1" -Label "Storage Account for SQL" -Location "North Central US"
すると、こんなエラーが出ます。
New-AzureStorageAccount : 指定された引数は、有効な値の範囲内にありません。
パラメーター名: parameters.ServiceName
発生場所 行:1 文字:1
+ New-AzureStorageAccount `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzureStorageAccount], ArgumentOutOfRangeException
+ FullyQualifiedErrorId : System.ArgumentOutOfRangeException,Microsoft.WindowsAzure.Commands.ServiceManagement.Storage
Services.NewAzureStorageAccountCommand
最初は有効な値の範囲内とか何事かと思ったのですが、ちゃんと New-AzureStorageAccount
に関する公式サイトと Windows Azure の Web 上の GUI、そして PowerShell の Get-Help New-AzureStorageAccount -Detailed
には書いてあります(-Detailed
パラメーターがない場合はフィールドの文字入力制限について言及されている文章は出てきません)。
フィールドは 3 ~ 24 文字で指定する必要があります。 フィールドに使用できるのは、小文字のアルファベットおよび数字のみです。 (The storage account name (...) must be between 3 and 24 characters in length and use lowercase letters and numbers only. )
なぜこういう制限があるかというとおそらく、サービスのエンドポイントの URL の形式が以下のようになっていて、大文字と記号が使えないからだと思われます。
http://mystorageaccount.*.core.windows.net/*
ともかく、いくら PowerShell が "動詞-名詞" 形式の命名規則で、ストレージ アカウントを新たに作成するなら New
で StorageAccount
な感じかなーあーあったあったーってヘラヘラ使ってると、ときどきこんな落とし穴に…(普通ははまらないですね)。