この記事はFIXER Advent Calendar 2019( https://adventar.org/calendars/4579 )1日目の記事です。
こんにちは。C#でバックエンド書いてたんですが急にiOSアプリ開発をすることになった石川です。今回はAzure Storageを触ってみたので記事にしました。
Azure Storageとは
読んで名のごとく、ストレージです。クラウドにデータを置けます。
いろいろデータの置き方がありますが実際にリソースを作成しながら紹介していきます。
触ってみる
何はともあれAzureにリソースを作らないと触ろうにも触れません。早速作っていきましょう。

サブスクリプション、リソースグループについては省略します。
- ストレージアカウント名: 一意なストレージアカウントの名前
- 場所: お好きな場所をどうぞ
- パフォーマンス: StandardとPremiumから選択, Premiumの方が高額になる代わりにアクセス速度であったりスループットが早くなったりします
- アカウントの種類: StorageV2でいいと思います
- レプリケーション: 冗長性の構成を選択
- アクセス層: 頻繁にアクセスするならホット, 長期間のバックアップなどアクセスしない場合はクールを選択

リソースを作成するとこのような4つのデータ管理サービスが表示されます。
- コンテナー: Blobストレージとも呼ばれる、オブジェクトストレージ
- ファイル共有: SMBプロトコルに則ったファイル共有
- テーブル: NoSQLストレージ
- キュー: HTTP/HTTPSの非同期処理などに向いた最大64KBのストレージ
コンテナー
AWSのS3と似たオブジェクトストレージです。
使うにはコンテナーを作成しその中にデータを放り込むといい感じになります。
最近だとMicrosoftがイベントの資料などを配布する場合にも使われているようです。ちょっと大きめのファイルを人に受け渡したりするのに適しています。
ファイル共有
SMBプロトコルでWindowsをはじめとするOSにマウントができるようになっているストレージです。

この画面から作成していきます。
赤枠のファイル共有をクリック

ファイル共有の名前とサイズを決めます。ストレージアカウント作成時に 大きいファイルの共有
を有効にしていると102400GiBまで設定可能になるようです。

作成したら接続をクリック。実際にWindowsにネットワークドライブとしてマウントしてみます。

PowerShellで表示されているコマンドをコピペするとマウントできるようですが、正常にできなかったので強引な手段を使います。
クリックすると画面右側に現れるウィンドウから情報を引っこ抜きます。
- ファイル共有のパス (\*.file.core.windows.net<ファイル共有名>) (赤い部分の下)
- パスワード (赤い部分)

引っこ抜いた情報をメモってWindowsエクスプローラーへ。
ネットワークドライブの割り当てをクリックします。

先ほどメモったファイル共有のパスをフォルダーの部分にペースト。
別の資格情報を使用してサインインする
にチェックを入れ 完了

メモったパスワードをペーストするとネットワークドライブとして認識されます。
(ユーザー名の入力を求められる場合は Azure\<ストレージアカウント名>
を入力です)

三つでもマウントできちゃいます。
なんとなくでサイズが違うものを三つマウントしてみました。
左から、1GB、5TB、100TBです。
作っただけでは面白くないので実際にファイルを置いてみます。

デスクトップになぜか置いてあったparrotを上げてみます。

このようにポータルからも見えちゃうわけですね。
めちゃくちゃに大きいファイルなんかの受け渡しとか共有フォルダのような使い方ができちゃいます。便利~。
おわりに
今回はAzure Storageの中でもよく使うであろう2つを紹介しました。
機会があれば残り2つも紹介できればと思います。
それでは。