Set Container Metadata
Set Container Metadata
操作は、指定されたコンテナーに 1 組以上のユーザー定義の名前と値のペアを設定します。
要求
Set Container Metadata
要求の構成は次のとおりです。 HTTPS を使用することをお勧めします。
myaccount をストレージ アカウントの名前に置き換えます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=metadata |
HTTP/1.1 |
エミュレートされたストレージ サービス要求
エミュレートされたストレージ サービスに対して要求を行うときは、エミュレーターのホスト名と BLOB サービス ポートを として 127.0.0.1:10000
指定し、その後にエミュレートされたストレージ アカウント名を指定します。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PUT |
http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=metadata |
HTTP/1.1 |
詳細については、ローカルでの Azure Storage の開発に Azurite エミュレーターを使用する方法に関するページを参照してください。
URI パラメーター
要求 URI には、次の追加パラメーターを指定できます。
パラメーター | 説明 |
---|---|
timeout |
省略可能。
timeout パラメーターは、秒単位で表されます。 詳細については、「 BLOB サービス操作のタイムアウトを設定する」を参照してください。 |
要求ヘッダー
必須の要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。
要求ヘッダー | 説明 |
---|---|
Authorization |
必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
Date または x-ms-date |
必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
x-ms-version |
すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-lease-id: <ID> |
オプション、バージョン 2012-02-12 以降。 指定されている場合、 Set Container Metadata コンテナーのリースがアクティブで、この ID と一致する場合にのみ成功します。 アクティブなリースがない場合、または ID が一致しない場合は、412 (前提条件に失敗しました) が返されます。 |
x-ms-meta-name:value |
省略可能。 コンテナーにメタデータとして関連付ける名前と値のペアを指定します。 この操作を呼び出すたびに、コンテナーにアタッチされているすべての既存のメタデータが置き換えられます。 すべてのメタデータをコンテナーから削除するには、この操作をメタデータ ヘッダーなしで呼び出します。 注: バージョン 2009-09-19 の時点で、メタデータ名は C# 識別子の名前付け規則に従う必要があります。 |
x-ms-client-request-id |
省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「Azure Blob Storageの監視」を参照してください。 |
この操作では、条件ヘッダーを使用して、指定した条件を満たした場合にのみコンテナーのメタデータを設定することもできます。 詳細については、「 BLOB サービス操作の条件付きヘッダーを指定する」を参照してください。
要求本文
[なし] :
要求のサンプル
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=metadata HTTP/1.1
Request Headers:
x-ms-version: 2011-08-18
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT
x-ms-meta-Category: Images
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=
Response
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
status code
操作に成功すると、状態コード 200 (OK) が返されます。
状態コードの詳細については、「 状態とエラー コード」を参照してください。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答に追加の標準 HTTP ヘッダーが含まれる場合もあります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 説明 |
---|---|
ETag |
コンテナーの ETag。 要求バージョンが 2011-08-18 以降の場合、ETag 値は引用符で囲まれます。 |
Last-Modified |
コンテナーが最後に変更された日時を返します。 日付形式は RFC 1123 に従います。 詳細については、「 ヘッダーの日付/時刻値を表す」を参照してください。 コンテナーまたはそのプロパティやメタデータを変更する操作 (コンテナーのアクセス許可の設定など) を行うと、最終更新時刻が更新されます。 BLOB に対する操作は、コンテナーの最終変更時刻には影響しません。 |
ms-request-id |
作成された要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用された BLOB サービスのバージョンを示します。 このヘッダーは、バージョン 2009-09-19 以降に対して行われた要求に対して返されます。 |
Date |
サービスによって生成される UTC 日付/時刻値。応答が開始された時刻を示します。 |
Access-Control-Allow-Origin |
要求にヘッダーが含まれており Origin 、一致するルールでクロスオリジン リソース共有 (CORS) が有効になっている場合に返されます。 一致する場合、このヘッダーは配信元要求ヘッダーの値を返します。 |
Access-Control-Expose-Headers |
要求に Origin ヘッダーが含まれ、照合ルールで CORS が有効な場合に返されます。 要求のクライアントや発行元に公開される応答ヘッダーの一覧を返します。 |
Access-Control-Allow-Credentials |
要求にヘッダーが含まれており Origin 、すべての配信元を許可しない照合ルールで CORS が有効になっている場合に返されます。 このヘッダーは に true 設定されます。 |
x-ms-client-request-id |
このヘッダーは、要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、その値に 1,024 文字以下の ASCII 文字が含まれている場合、ヘッダーの値 x-ms-client-request-id と等しくなります。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、応答には存在しません。 |
応答本文
[なし] :
承認
Azure Storage でデータ アクセス操作を呼び出す場合は、承認が必要です。 以下で説明するように、操作を Set Container Metadata
承認できます。
重要
Microsoft では、マネージド ID でMicrosoft Entra IDを使用して、Azure Storage への要求を承認することをお勧めします。 Microsoft Entra IDは、共有キーの承認と比較して優れたセキュリティと使いやすさを提供します。
Azure Storage では、Microsoft Entra IDを使用して BLOB データへの要求を承認することがサポートされています。 Microsoft Entra IDでは、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、セキュリティ プリンシパルにアクセス許可を付与できます。 セキュリティ プリンシパルには、ユーザー、グループ、アプリケーション サービス プリンシパル、または Azure マネージド ID を指定できます。 セキュリティ プリンシパルは、OAuth 2.0 トークンを返すためにMicrosoft Entra IDによって認証されます。 その後、そのトークンを、Blob service に対する要求を認可するために使用できます。
Microsoft Entra IDを使用した承認の詳細については、「Microsoft Entra IDを使用して BLOB へのアクセスを承認する」を参照してください。
アクセス許可
Microsoft Entraユーザー、グループ、マネージド ID、またはサービス プリンシパルが操作を呼び出Set Container Metadata
すために必要な RBAC アクションと、このアクションを含む最小特権の組み込み Azure RBAC ロールを次に示します。
- Azure RBAC アクション:Microsoft.Storage/storageAccounts/blobServices/containers/write
- 最小特権の組み込みロール:ストレージ BLOB データ共同作成者
Azure RBAC を使用したロールの割り当ての詳細については、「 BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。
注釈
操作を Set Container Metadata
呼び出すと、コンテナーに関連付けられているすべての既存のメタデータが上書きされます。 名前と値の個々のペアを変更することはできません。
コンテナーの作成時に、コンテナーのメタデータを設定することもできます。
を呼び出すと Set Container Metadata
、コンテナーの ETag と Last-Modified-Time
プロパティが更新されます。 要求がバージョン 2011-08-18 を使用して行われた場合、更新された ETag は引用符で囲まれます。
請求
価格要求は、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリから Blob Storage API を使用するクライアントから送信できます。 これらの要求では、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに計上されます。 次の表は、ストレージ アカウントの種類に基づく要求の課金カテゴリ Set Container Metadata
を示しています。
操作 | ストレージ アカウントの種類 | 課金カテゴリ |
---|---|---|
Set Container Metadata | Premium ブロック BLOB Standard 汎用 v2 |
その他の操作 |
Set Container Metadata | Standard 汎用 v1 | 書き込み操作 |
指定した課金カテゴリの価格については、「Azure Blob Storage価格」を参照してください。
こちらもご覧ください
状態コードとエラー コード
BLOB サービスのエラー コード
Blob Storage リソースのプロパティとメタデータを設定および取得する