Azureストレージ・サービスの命名規則が話題になっていた。私自身も命名規則ではまった事が有ったので、これを機会に調べてみた。結論から言うと、テーブルストレージ、ブロブストレージ、キューストレージは全て命名規則が異なっていた。なんでこんな状態になったのかは分からないが、実際にアプリケーションを作る人間側には結構つらい。Azureを学習する人のため、自分のため、命名規則をまとめてみた。私としてのお勧めなストレージネーミングルールは「全て小文字の英字(最初の文字以外は数字もあり)でネーミングする」だ。サンプルアプリケーション折角なので命名規則検証用のアプリケーションを作成した。StorageNamingCloudService.zip」より取得して、実際に動作確認してはいかがだろうか(ブロブストレージ、キューストレージのMetadataについてはサボっているので、興味のある方は拡張しても良いだろう)。アプリケーション内のaspxファイルに、「使用できる名前」と「使用できない名前」のサンプルを記述しているので、是非一度起動して頂きたい。以下にまとめる*1が、発生する例外がストレージ毎に異なる。いうか、テーブルストレージだけが特殊なんだろうか。ついでに、ブロブ作成時の動作に若干自信が無い...。間違ってたら突っ込んで頂きたい。Model」に記載されているが、大凡を抜粋すると以下になる。実は、「テーブルストレージだけは命名規則で大文字を禁止されていない」のである。これは大いなる罠だ...。Metadata」に記載されているが、大凡を抜粋すると以下になる。任意の文字を組み合わせられるが、URLとして解決できるように適切なエスケープ処理を行う必要があるブロブ名が"."で終わるものや、"/"が前にある物は無効であるコンテナ名とブロブ名で異なるのである*2。たちの悪い事にブロブ名が不正な場合、例外が発生せずに処理が素通りした挙句にストレージにデータが書き込まれていなかった。Metadata」に記載されているが、大凡を抜粋すると以下になる。キュー名キュー名は英数字のどちらかで始まる必要があり、英数字と"-"を利用できるキュー名の最初の文字と最後の文字は英数字でなければならない。"-"は最初の文字と、最後の文字にしてはならないキュー名は小文字でなければならないキュー名は3文字以上、63文字以下キューストレージが一番ハマりどころが少ない予感がする。大文字禁止なのはブロブストレージと変わらず...。