BLOB とは

完了

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

Azure Blob Storage は "構造化されていません"。つまり、保持できるデータの種類に制限はありません。 たとえば、BLOB には PDF ドキュメント、JPG イメージ、JSON ファイル、動画コンテンツなどを保持できます。BLOB は一般的なファイル形式に限定されません。BLOB には、科学機器からストリーミングされたギガバイト単位のバイナリ データ、別のアプリケーションに対する暗号化されたメッセージ、開発中のアプリ向けのカスタム形式のデータなどを格納できます。

通常、頻繁にクエリを行う必要がある構造化データには 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 のデータの処理方法を決定するためにアプリで使用される文字列など、アプリではメタデータを任意の目的に使用できます。

ヒント

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

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

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