こんにちは、エンジニアの何某です。

クラウドサービスは便利ですが、いざ使ってみると色々制約があり、思いのほか苦戦したことがありました。
今回は開発でよく使用するAzure Blob Storageの制約事項について少し紹介できればと思います。

※以下は、執筆時点での仕様になります。仕様は今後変わる可能性があるので、その点ご承知おきください。

1.1つのストレージアカウントで保存できる最大データサイズ

Azure Blob Storage に保存できる最大容量は 、1つのストレージアカウントで最大 5PiB(ペタバイト) です。
もしこの容量で足りない場合は、ストレージアカウントを追加で作成する必要があります。
また、ストレージアカウントも無限に作成できるわけではなく、既定では250個までとなっており、クォータ(制限)を解除することによって最大500個まで作成できます。

参考サイト

2.zipファイルはストレージ上で解凍できない

Azure Blob Storage上にあるzipファイルを直接ストレージ上で解凍することはできません。
そのため、ストリームを使って解凍するか、ローカルディスクなどの作業領域で解凍する必要があります。
ただし、以下の注意点があります。

  • ストリームで解凍する場合
    zipファイルのファイルサイズが多く、物理メモリが少ないと、OutOfMemoryExceptionが発生します。
    1ファイルあたりの容量を少なくする、物理メモリを増やすなどの対策が必要です。

  • ローカルディスクなどの作業領域で解凍する場合
    必ずしもクラウド上のローカルディスクで解凍処理を行う必要はありませんが、Azure上のTEMPディレクトリを使って解凍をする場合、AzureリソースによってTEMP領域に制限があります。
    ◆ Azure Automationの場合
    $env:TEMPの上限は1GBです。
    ◆ Azure Functionsの場合
    SKUに依存しますが、たとえば「Basic B1」ではTEMP領域が11GBとなります。

参考サイト

3.生成したSASトークンを再度確認できない

Azure Blob StorageにはSAS(Shared Access Signatures)という機能があり、使用できるデータの種類(Blob、ファイル、キュー、テーブル)や操作(読み取り、書き込み、削除、更新など)、IP制限、有効期限などの制限を設けることで、Azure Storage リソースへの制限付きのアクセス権を付与することができます。

「SASと接続文字列を生成する」ボタンを押すとSASトークンが発行されますが、発行したSASトークンが分からなくなってしまった場合は、SASトークンの再発行を行う必要があるので注意が必要です。

尚、Microsoftの開発部門宛てに発行したSASトークンを確認する機能をつけてほしいという要望がユーザーから寄せられており、今後そういった機能が実装されるかもしれません。

参考サイト

まとめ

Azure Blob Storageを利用する方の参考になれば幸いです。
開発案件のご相談は以下お問い合わせフォームよりご連絡ください。

お問い合わせはコチラ