BLOB タグの設定

この操作により Set Blob Tags 、指定した BLOB のユーザー定義タグが 1 つ以上のキーと値のペアとして設定されます。

要求

Set Blob Tags 要求の構成は次のとおりです。 HTTPS を使用することをお勧めします。 myaccount をストレージ アカウントの名前に置き換えます。

PUT メソッド要求 URI HTTP バージョン
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags&versionid=<DateTime>
HTTP/1.1

URI パラメーター

次の追加パラメーターを要求 URI に指定できます。

パラメーター 説明
versionid バージョン 2019-12-12 以降では省略可能です。 パラメーターは versionid 不透明 DateTime な値であり、存在する場合は、取得する BLOB のバージョンを指定します。
timeout 省略可能。 timeout パラメーターは、秒単位で表されます。 詳細については、「 Blob Storage 操作のタイムアウトを設定する」を参照してください。

要求ヘッダー

必須の要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。

要求ヘッダー 説明
Authorization 必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
Date または x-ms-date 必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
x-ms-version すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。
Content-Length 必須。 要求のコンテンツのサイズ (バイト単位)。 このヘッダーは、BLOB 自体ではなく、タグ ドキュメントのコンテンツ長を参照します。
Content-Type 必須。 このヘッダーの値は application/xml にする必要があります。charset=UTF-8。
Content-MD5 省略可能。 要求のコンテンツの MD5 ハッシュ。 このハッシュは転送時の要求コンテンツの整合性を確認するために使用します。 2 つのハッシュが一致しない場合、操作はエラー コード 400 (無効な要求) で失敗します。

このヘッダーは、BLOB 自体のコンテンツではなく、要求コンテンツに関連付けられています。
x-ms-content-crc64 省略可能。 要求コンテンツの CRC64 ハッシュ。 このハッシュは転送時の要求コンテンツの整合性を確認するために使用します。 2 つのハッシュが一致しない場合、操作はエラー コード 400 (無効な要求) で失敗します。

このヘッダーは、BLOB 自体のコンテンツではなく、要求コンテンツに関連付けられています。

ヘッダーと x-ms-content-crc64 ヘッダーの両方Content-MD5が存在する場合、要求はエラー コード 400 (無効な要求) で失敗します。
x-ms-lease-id:<ID> BLOB にアクティブなリースが存在する場合は必須です。

アクティブなリースが存在する BLOB に対してこの操作を実行するには、このヘッダーに有効なリース ID を指定します。 要求で有効なリース ID が指定されていない場合、操作は状態コード 403 (禁止) で失敗します。
x-ms-client-request-id 省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「Azure Blob Storageの監視」を参照してください。

この操作では、指定した条件が x-ms-if-tags 満たされた場合にのみ BLOB タグを設定する条件付きヘッダーがサポートされます。 詳細については、「 Blob Storage 操作の条件付きヘッダーを指定する」を参照してください。

要求本文

要求本文の形式は次のとおりです。

<?xml version="1.0" encoding="utf-8"?>  
<Tags>  
    <TagSet>  
        <Tag>  
            <Key>tag-name-1</Key>  
            <Value>tag-value-1</Value>  
        </Tag>  
        <Tag>  
            <Key>tag-name-2</Key>  
            <Value>tag-value-2</Value>  
        </Tag>  
    </TagSet>  
</Tags>  

要求本文は整形式の UTF-8 XML ドキュメントであり、BLOB のタグを表すタグ セットが含まれている必要があります。

タグ セットには、10 個以下のタグを含めることができます。 タグ キーとタグ値では、大文字と小文字が区別されます。 タグ キーは 1 ~ 128 文字、タグ値は 0 ~ 256 文字にする必要があります。 有効なタグ キーと値の文字は次のとおりです。

  • 小文字と大文字 (a~z、A~Z)
  • 数字 (0 から 9)
  • スペース ( )
  • プラス (+)、マイナス (-)、ピリオド (.)、スラッシュ (/)、コロン (:)、等しい (=)、アンダースコア (_)

Response

応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。

status code

操作が正常に終了すると、ステータス コード 204 (No Content) が返されます。

状態コードの詳細については、「 状態とエラー コード」を参照してください。

応答ヘッダー

この操作の応答には、次のヘッダーが含まれています。 応答に追加の標準 HTTP ヘッダーが含まれる場合もあります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています

応答ヘッダー 説明
x-ms-request-id 作成された要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。
x-ms-version 要求の実行に使用された Blob Storage のバージョン。
Date サービスによって生成される UTC 日付/時刻値。応答が開始された時刻を示します。
x-ms-client-request-id 要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、その値に 1,024 文字以下の ASCII 文字が含まれている場合、ヘッダーの値 x-ms-client-request-id と等しくなります。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、応答には存在しません。

応答本文

[なし] :

承認

Azure Storage でデータ アクセス操作を呼び出す場合は、承認が必要です。 以下で説明するように、操作を Set Blob Tags 承認できます。

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ユーザー、グループ、またはサービス プリンシパルが操作を呼び出Set Blob Tagsすために必要な RBAC アクションと、このアクションを含む最小限の特権を持つ組み込み Azure RBAC ロールを次に示します。

Azure RBAC を使用したロールの割り当ての詳細については、「 BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。

注釈

この Set Blob Tags 操作は、REST API バージョン 2019-12-12 以降でサポートされています。

階層型名前空間が有効になっているアカウントの場合、 Set Blob Tags BLOB タグは階層型名前空間アカウントではサポートされていないため、操作はサポートされていません。

この操作により Set Blob Tags 、BLOB 上のすべての既存のタグが上書きされます。 BLOB からすべてのタグを削除するには、空<TagSet>の を使用してSet Blob Tags要求を送信します。

この操作では、BLOB の ETag または最終変更時刻は更新されません。 アーカイブされた BLOB にタグを設定できます。

ストレージ サービスは、BLOB とそのタグの間で強力な一貫性を維持します。 BLOB タグに対する変更は、BLOB に対する後続 Get Blob Tags の操作にすぐに反映されます。 ただし、セカンダリ インデックスは最終的に一貫性があります。 BLOB のタグに対する変更が、操作に Find Blobs by Tags すぐには表示されない場合があります。

要求で無効なタグが提供された場合、Blob Storage は状態コード 400 (無効な要求) を返します。

請求

価格要求は、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリから Blob Storage API を使用するクライアントから送信できます。 これらの要求では、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに計上されます。 次の表は、ストレージ アカウントの種類に基づく要求の課金カテゴリ Set Blob Tags を示しています。

操作 ストレージ アカウントの種類 課金カテゴリ
BLOB タグの設定 Premium ブロック BLOB
Standard 汎用 v2
その他の操作
BLOB タグの設定 Standard 汎用 v1 書き込み操作

指定した課金カテゴリの価格については、「Azure Blob Storage価格」を参照してください。

こちらもご覧ください

BLOB インデックス タグを使用して Blob Storage データを管理および検索する
Azure Storage への要求を承認する
状態コードとエラー コード
Blob Storage のエラー コード