BLOB とは

完了

BLOB は "クラウド用のファイル" です。 アプリは、ディスク上のファイルを操作するときとほとんど同じ方法で、BLOB を操作します。 アプリは BLOB に対してデータの読み取りと書き込みを行います。 ただし、ローカル ファイルとは異なり、BLOB にはインターネットに接続できればどこからでもアクセスできます。

Azure Blob Storage は "構造化されていません"。 保持できるデータの種類に制限はありません。 たとえば、BLOB には PDF ドキュメント、JPG イメージ、JSON ファイル、動画コンテンツなどを保持できます。

BLOB は一般的なファイル形式に限定されません。 BLOB には、科学機器からストリーミングされたギガバイト単位のバイナリ データ、別のアプリケーションに対する暗号化されたメッセージ、開発中のアプリ向けのカスタム形式のデータなどを格納できます。

頻繁にクエリを行う必要がある構造化データには、BLOB は効率的ではありません。 メモリとローカル ディスクよりも待機時間が長くなります。 クエリ実行時のデータベースを効率化するインデックス作成機能はありません。 ただし、BLOB はクエリ不可能なデータを保存するために、データベースと "組み合わせて" 頻繁に使用されます。 たとえば、ユーザー プロファイルのデータベースを持つアプリでは、BLOB にプロファイル画像を格納できます。 データベース内の各ユーザー レコードには、ユーザーの画像を含んでいる BLOB の名前または URL が含まれることになります。

あらゆる種類のアプリやアーキテクチャで、データ ストレージのために多くの方法で BLOB が使用されます。

  • 小さいメッセージのみをサポートするメッセージング システムを使用して大量のデータを送信する必要があるアプリ。 このようなアプリでは、BLOB にデータを保存し、メッセージで BLOB の URL を送信できます。
  • Blob Storage をファイル システムのように使用して、ドキュメントや他の個人データを格納したり共有したりできます。
  • 画像のような静的な Web アセットを BLOB に格納し、Web サーバー上のファイルと同じようにパブリックにダウンロードできるようにすることができます。
  • 多くの Azure コンポーネントでは、見えないところで BLOB が使用されています。 たとえば、Azure Cloud Shell ではファイルと構成を BLOB に格納し、Azure Virtual Machines ではハード ディスク ストレージに BLOB を使用しています。

アプリの中には、機能の一部として絶えず BLOB の作成、更新、削除を行っているものがあります。 BLOB の小さいセットを使用し、それらをめったに変更しないものもあります。

ストレージ アカウント、コンテナー、タグ、メタデータ

Blob Storage では、すべての BLOB が "BLOB コンテナー" 内に存在します。 コンテナー内に格納できる BLOB の数、およびストレージ アカウント内のコンテナーの数には、制限はありません。 コンテナーは "フラット" です。 これらが格納できるのは BLOB のみであり、他のコンテナーは格納できません。

BLOB とコンテナーでは、名前と値の文字列ペアの形式でタグとメタデータがサポートされています。 表示する BLOB の内容についての人が理解できる説明や、アプリがデータの処理方法を決定するために使用する文字列など、アプリはタグとメタデータを任意の目的に使用できます。

ヒント

Blob Storage では、メタデータで BLOB の検索や並べ替えを行うためのメカニズムは提供されていません。 BLOB インデックス タグを使用することで、BLOB の検索と並べ替えを行えます。 Azure Cognitive Search の使用の詳細については、このモジュールの最後の「参考資料」セクションをご覧ください。

Blob Storage API とクライアント ライブラリ

Blob Storage API は REST ベースです。 多くの一般的な言語のクライアント ライブラリはこれをサポートしています。 この API によって、BLOB やコンテナーの作成と削除、BLOB データのアップロードとダウンロード、コンテナー内の BLOB の一覧表示を行うアプリを記述できます。