名前付けおよびコンテナー、Blob、およびメタデータの参照
この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

コンテナー、BLOB、およびメタデータの名前付けおよび参照

 

このトピックでは、コンテナー、BLOB、メタデータ、およびスナップショットの名前付けと参照について説明します。 1 つのストレージ アカウントは、0 個以上のコンテナーを格納できます。 コンテナーは、プロパティ、メタデータ、および 0 個以上の BLOB を格納します。 BLOB は、バイナリ データ、プロパティ、およびメタデータで構成される単一のエンティティです。

コンテナーまたは BLOB を参照する URI は一意であることが必要です。 すべてのアカウント名は一意なので、2 つのアカウントが同名のコンテナーを持つことができます。 ただし、ストレージ アカウント内では、すべてのコンテナー名は一意である必要があります。 また、コンテナー内のすべての BLOB 名は一意である必要があります。

コンテナーまたは BLOB を名前付け規則に違反する名前で作成しようとすると、要求はステータス コード 400 (Bad Request) で失敗します。

System_CAPS_important重要

BLOB 名とコンテナー名は、URL 内の BLOB サービスに渡されます。 一部の文字は、URL に表示するために UTF-8 (推奨) または MBCS でパーセント エンコードする必要があります。 このエンコーディングは自動的に、Azure .NET ライブラリを使用または作成するときに、 Uri blob またはコンテナーの名前を含むオブジェクトです。 ただし、エンコードしても URL パスでは無効な文字もあります。 BLOB 名またはコンテナー名でこれらの文字を使用することはできません。 \uE000 のようなコード ポイントは NTFS ファイル名では有効ですが、無効な Unicode 文字であるため、使用することはできません。 また、制御文字 (0x00 ~ 0x1F、\u0081 など) など、一部の ASCII 文字または Unicode 文字も使用できません。 HTTP/1.1 で Unicode 文字列に適用される規則については、以下を参照してください。

コンテナー名は、次の名前付け規則に従った有効な DNS 名である必要があります。

  1. コンテナー名は、文字または数字で始まり、文字、数字、またはダッシュ (-) 文字だけを使用できます。

  2. すべてのダッシュ文字は、その直前または直後に文字または数字が使用されている必要があります。連続するダッシュ文字は、コンテナー名では使用できません。

  3. コンテナー名のすべての文字は、小文字にする必要があります。

  4. コンテナー名の長さは 3 ~ 63 文字にする必要があります。

BLOB 名は、次の名前付け規則に従う必要があります。

  • BLOB 名には、任意の文字の組み合わせを含めることができます。

  • BLOB 名は 1 ~ 1,024 文字で指定する必要があります。

  • BLOB 名では大文字と小文字が区別されます。

  • URL の予約文字は適切にエスケープする必要があります。

  • BLOB 名を構成するパス セグメントの数は 254 を超えることはできません。 パス セグメントには、連続するいくつかの区切り記号の文字です (など, 、スラッシュ、'/') 仮想ディレクトリの名前に対応します。

System_CAPS_noteメモ

ドット (.)、スラッシュ (/)、またはこの 2 つの文字のシーケンスあるいは組み合わせで終わる BLOB 名は使用しないでください。

BLOB サービスは階層構造ではなく、フラットなストレージ構造に基づきますが、 BLOB 名に文字または文字列の区切り記号を指定することで仮想階層を作成できます。 たとえば、以下に示す名前はすべて有効で一意な BLOB 名です。 文字列は、BLOB 名としても、また同じコンテナー内の仮想ディレクトリ名としても有効です。

  • /a

  • /a.txt

  • /a/b

  • /a/b.txt

BLOB の列挙にも区切り文字を利用できます。

コンテナー リソースまたは BLOB リソースのメタデータは、リソースに関連付けられた名前と値のペアとして保存されます。 メタデータの名前は、名前付け規則に従う必要があります c# 識別子です。

メタデータ名の作成時に指定された大文字と小文字の違いは維持されますが、設定時または読み取り時には大文字と小文字は区別されません。 リソースに対して同じ名前の複数のメタデータ ヘッダーが送信された場合、BLOB サービスはステータス コード 400 (Bad Request) を返します。

各リソースには、リソースそれ自体を参照する、対応するベース URI があります。

ストレージ アカウントの場合、ベース URI にはアカウントの名前だけが含まれます。

https://myaccount.blob.core.windows.net

コンテナーの場合、キュー操作のベース URI にはアカウントの名前とコンテナーの名前が含まれます。

https://myaccount.blob.core.windows.net/mycontainer

BLOB の場合、ベース URI にはアカウントの名前、コンテナーの名前、および BLOB の名前が含まれます。

https://myaccount.blob.core.windows.net/mycontainer/myblob

ストレージ アカウントには既定のコンテナーであるルート コンテナーが存在する場合がありますが、ルート コンテナーは URI から省略できます。 ルート コンテナー内の blob をコンテナーの名前を指定せずに参照できるか、ルート コンテナーは、名前で明示的に参照できます ($root)。 参照してください ルート コンテナーの操作 の詳細。 次の 2 つの URI はいずれもルート コンテナー内の BLOB を参照しています。


https://myaccount.blob.core.windows.net/myblob https://myaccount.blob.core.windows.net/$root/myblob

スナップショットは、スナップショットが作成された時点で格納されていた BLOB の読み取り専用バージョンです。 スナップショットを使用して、BLOB のバックアップまたはチェックポイントを作成できます。 スナップショット BLOB 名は、ベース BLOB の URI と、スナップショットが作成された時点の日付/時刻値から構成されます。

たとえば、BLOB の URI を次のように想定します。

https://myaccount.blob.core.windows.net/mycontainer/myblob

この場合、BLOB のスナップショットの URI は次のようになります。

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

.NET クライアント ライブラリは、としてのスナップショットを一覧できます T:Microsoft.WindowsAzure.StorageClient.CloudBlob オブジェクトを呼び出すときに M:Microsoft.WindowsAzure.StorageClient.CloudBlobContainer.ListBlobs(Microsoft.WindowsAzure.StorageClient.BlobRequestOptions)P:Microsoft.WindowsAzure.StorageClient.BlobRequestOptions.BlobListingDetails に設定 F:Microsoft.WindowsAzure.StorageClient.BlobListingDetails.Snapshotsです。

表示:
© 2016 Microsoft