Azure StorageREST API リファレンス

Microsoft Azure Storage サービスの REST API を使用すると、Azure 内の Blob service、Queue サービス、Table service、File サービスにプログラムからアクセスすることができます。また、開発環境でストレージ エミュレーターを使って、これらのサービスにアクセスすることもできます。

REST API を使用して、すべてのストレージ サービスにアクセスできます。 ストレージ サービスへのアクセスは、Azure 内から行うことも、HTTP/HTTPS の要求送信と応答受信の機能を持つ任意のアプリケーションから直接インターネット上で行うこともできます。

重要

Azure ストレージ サービスは HTTP と HTTPS の両方をサポートしていますが、HTTPS の使用をお勧めします。

ストレージ アカウント

ストレージ サービスへのすべてのアクセスはストレージ アカウントで行われます。 ストレージ アカウントは、各基本サービスへのアクセスに使用する最高レベルの名前空間であり、 また、承認の基礎にもなります。

ストレージ サービス用の REST API は、ストレージ アカウントをリソースとして公開します。

Blob service

BLOB サービスには、バイナリ ファイルやテキスト ファイルなどのエンティティを格納する記憶域が用意されています。 BLOB Service 用の REST API は 2 つのリソース (コンテナーと BLOB) を公開します。 コンテナーは、一連の blob を含むフォルダーに似ています。すべての blob はコンテナー内に存在する必要があります。 Blob service では、次の3種類の blob を定義します。

  • ブロック BLOB。この BLOB はストリーミング用に最適化されています。 2009-09-19 より前のバージョンで使用できる BLOB は、このタイプの BLOB のみです。

  • ページ BLOB。ランダムな読み取り/書き込み用に最適化され、BLOB 内の一定のバイト範囲に書き込みを行うことができます。 ページ BLOB は、2009-09-19 バージョン以降で使用できます。 これらは、主に AzureVMs をバックアップする VHD ファイルに使用されます。

  • 追加 blob。追加操作に対してのみ最適化されています。 追加 blob は、バージョン2015-02-21 以降でのみ使用できます。

コンテナーおよび BLOB は、名前と値のペアの形式で要求操作のヘッダーとして指定するユーザー定義のメタデータをサポートします。

BLOB サービス用の REST API を使用して、ファイル システムと同様の階層構造の名前空間を作成できます。 BLOB の名前により、構成可能なパス区切りを使用して階層をエンコードできます。 たとえば、blob 名 Mygroup/MyBlob1Mygroup/MyBlob2 は、blob の組織の仮想レベルを意味します。 BLOB の列挙操作はファイル システムと同様の方法で仮想階層のトラバースをサポートするため、グループに編成された一連の BLOB を返すことができます。 たとえば、 Mygroup/ で構成されたすべての blob を列挙できます。

ブロック BLOB の作成方法は 2 とおりあります。 1つの Put blob 操作で blob をアップロードすることも、 put block 操作を使用してブロックのセットとして blob をアップロードし、 put block List 操作を使用して blob にブロックをコミットすることもできます。

ページ blob は、 Put blobを呼び出すことによって作成され、最大サイズで初期化されます。 ページ blob にコンテンツを書き込むには、 Put page 操作を呼び出します。

追加 blob は、 Put blobを呼び出すことによって作成できます。 Put blob操作で作成された追加 blob には、コンテンツは含まれません。 コンテンツを追加 blob に書き込むには、 ブロック の追加操作を呼び出して blob の末尾にブロックを追加します。 既存のブロックの更新または削除はサポートされていません。 各ブロックのサイズは、最大 4 MiB まで設定できます。 追加 blob の最大サイズは 195 GiB で、追加 blob に含めることができるブロックは5万個までです。

BLOB はコンカレンシー制御および効率的なアップロードに役立つ条件付き更新操作をサポートします。

Blob は、 Get blob 操作を呼び出すことによって読み取ることができます。 クライアントは BLOB 全体または任意のバイト数を読み取ることができます。

Blob service API リファレンスについては、「 Blob service REST API」を参照してください。

キュー サービス

キュー サービスは、サービス内部またはサービス間で信頼性の高い永続的なメッセージングを行います。 キュー サービス用の REST API は 2 つのリソース (キューおよびメッセージ) を公開します。

キューは、名前と値のペアの形式で要求操作のヘッダーとして指定するユーザー定義のメタデータをサポートします。

各ストレージ アカウントには、アカウント内で一意の名前を付けたメッセージ キューをいくつでも設定できます。 各メッセージ キューに格納するメッセージの数にも制限はありません。 メッセージの最大サイズは、バージョン2011-08-18 の場合は 64 KiB、以前のバージョンの場合は 8 KiB に制限されます。

メッセージをキューから読み取ると、コンシューマーはそのメッセージを処理した後、削除します。 読み取られたメッセージは、指定された期間に達するまで他のコンシューマーからは参照不可になります。 指定された期間に達してもメッセージが削除されなかった場合、そのメッセージは再度可視化され、他のコンシューマーが処理できるようになります。

Queue サービスの詳細については、「 Queue service REST API」を参照してください。

テーブル サービス

Table Service は、テーブル形式の構造化ストレージです。 Table service は、 OData プロトコルを実装する REST API をサポートしています。

開発者は、ストレージアカウント内でテーブルを作成することができます。 テーブルにはデータがエンティティとして格納されます。 エンティティは行のようなもので、名前付きプロパティと値のコレクションです。 テーブルは、パーティションに分割することでストレージ ノード間の負荷分散をサポートします。 各テーブルが保持する最初のプロパティは、エンティティが属するパーティションを指定するパーティション キーです。 2 番目のプロパティは、特定のパーティション内のエンティティを指定する行キーです。 パーティション キーと行キーの組み合わせで、テーブル内の各エンティティを一意に識別するプライマリ キーが構成されます。

テーブル サービスはスキーマを設定しません。 開発時に、クライアント側でスキーマを実装および設定することもできます。 Table service の詳細については、「 Table service REST API」を参照してください。

ファイル サービス

サーバーメッセージブロック (SMB) プロトコルは、現在オンプレミスで使用されている優先ファイル共有プロトコルです。 Microsoft Azure ファイル サービスでは、Azure のクラウドの "サービスとしてのインフラストラクチャ (IaaS)" の可用性と拡張性を利用できます。SMB クライアント アプリケーションを作成し直す必要はありません。

従来の Direct Attached Storage (DAS) および Storage Area Network (SAN) ソリューションは、インストール、構成、操作が複雑で高価な場合もよくありますが、Azure ファイル サービスは、こうしたソリューションの代替としても利用できます。

Azure File service 共有に格納されているファイルには、SMB プロトコルと REST Api を介してアクセスできます。 ファイルサービスには、ストレージアカウント、共有、ディレクトリ、ファイルという4つのリソースが用意されています。 共有によって複数のファイルを整理することができます。また、クラウドでホストされる SMB ファイル共有としてマウントすることもできます。

関連項目

Blob Service の REST API Queue サービス REST API Table Service の REST API ファイルサービス REST API