Share via


Put Blob

この操作により Put Blob 、新しいブロック、ページ、または追加 BLOB が作成されるか、既存のブロック BLOB の内容が更新されます。 この Put Blob 操作により、既存の BLOB のすべての内容が同じ名前で上書きされます。

既存のブロック BLOB を更新すると、BLOB 上の既存のメタデータが上書きされます。 既存の BLOB の内容は、新しい BLOB の内容で上書きされます。 部分更新は ではサポートされていません Put Blob。 ブロック BLOB のコンテンツの部分的な更新を実行するには、 Put Block List 操作を使用します。

バージョン 2015-02-21 以降でのみ追加 BLOB を作成できます。

ページ BLOB または追加 BLOB を作成するための を呼び出すと Put Blob 、BLOB のみが初期化されます。 BLOB が既に存在する場合、内容はクリアされます。 ページ BLOB にコンテンツを追加するには、 Put Page 操作を呼び出します。 追加 BLOB にコンテンツを追加するには、 追加ブロック 操作を呼び出します。

要求

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

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

エミュレートされたストレージ サービス要求

エミュレートされたストレージ サービスに対して要求を行うときは、エミュレーターのホスト名と BLOB サービス ポートを として 127.0.0.1:10000指定し、その後にエミュレートされたストレージ アカウント名を指定します。

PUT メソッド要求 URI HTTP バージョン
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

ストレージ エミュレーターでは、最大 2 ギビバイト (GiB) の BLOB サイズのみがサポートされます。

詳細については、ローカルでの Azure Storage の開発に Azurite エミュレーターを使用する方法に関するページを参照してください。

URI パラメーター

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

パラメーター 説明
timeout 省略可能。 timeout パラメーターは、秒単位で表されます。 詳細については、「 BLOB サービス操作のタイムアウトを設定する」を参照してください。

要求ヘッダー (すべての BLOB の種類)

すべての BLOB の種類に必要な要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。

要求ヘッダー 説明
Authorization 必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
Date または x-ms-date 必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。
x-ms-version すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。
Content-Length 必須。 要求のサイズ。

ページ BLOB または追加 BLOB の場合、 Put Blob は BLOB の初期化にのみ使用されるため、このヘッダーの値を 0 に設定する必要があります。 既存のページ BLOB にコンテンツを書き込むには、 Put Page を呼び出します。 追加 BLOB にコンテンツを書き込むには、 Append Block を呼び出します。
Content-Type 省略可能。 BLOB の MIME コンテンツの種類。 既定の型は application/octet-stream です。
Content-Encoding 省略可能。 BLOB に適用されたコンテンツのエンコード方式を指定します。 この値は、 BLOB の取得 操作が BLOB リソースに対して実行されるときにクライアントに返されます。 この値が返されると、クライアントはそれを使用して BLOB コンテンツをデコードできます。
Content-Language 省略可能。 このリソースで使用される自然言語を指定します。
Content-MD5 省略可能。 BLOB のコンテンツの MD5 ハッシュ。 このハッシュは転送時の BLOB の整合性を確認するために使用します。 このヘッダーを指定すると、ストレージ サービスは、送信されたハッシュに対して到着したハッシュをチェックします。 2 つのハッシュが一致しない場合、操作はエラー コード 400 (無効な要求) で失敗します。

バージョン 2012-02-12 以降でヘッダーを省略すると、Blob Storage によって MD5 ハッシュが生成されます。

GET BLOBGet BLOB Properties、および List BLOB の結果には、MD5 ハッシュが含まれます。
x-ms-content-crc64 省略可能。 BLOB コンテンツの CRC64 ハッシュ。 このハッシュは転送時の BLOB の整合性を確認するために使用します。 このヘッダーを指定すると、ストレージ サービスは、送信されたハッシュに対して到着したハッシュをチェックします。 2 つのハッシュが一致しない場合、操作はエラー コード 400 (無効な要求) で失敗します。 このヘッダーは、バージョン 02-02-2019 以降でサポートされています。

Content-MD5 ヘッダーと x-ms-content-crc64 ヘッダーの両方が存在する場合、要求は 400 (無効な要求) で失敗します。
Cache-Control 省略可能。 Blob Storage にはこの値が格納されますが、使用や変更は行われません。
x-ms-blob-content-type 省略可能。 BLOB のコンテンツの種類を設定します。
x-ms-blob-content-encoding 省略可能。 BLOB のコンテンツのエンコードを設定します。
x-ms-blob-content-language 省略可能。 BLOB のコンテンツの言語を設定します。
x-ms-blob-content-md5 省略可能。 BLOB の MD5 ハッシュを設定します。 BlockBlob の場合、トランスポート中に BLOB の整合性を確認する場合は、このヘッダーが優先 Content-MD5 されます。 PageBlob と AppendBlob の場合、このヘッダーは BLOB の MD5 ハッシュを直接設定します。
x-ms-blob-cache-control 省略可能。 BLOB のキャッシュ制御を設定します。
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> 必須。 作成する BLOB の種類 (ブロック BLOB、ページ BLOB、または追加 BLOB) を指定します。 追加 BLOB の作成のサポートは、バージョン 2015-02-21 以降でのみ使用できます。
x-ms-meta-name:value 省略可能。 BLOB にメタデータとして関連付ける名前と値のペア。

: バージョン 2009-09-19 の時点で、メタデータ名は C# 識別子の名前付け規則に従う必要があります。
x-ms-encryption-scope 省略可能。 要求の内容を暗号化するために使用する暗号化スコープを示します。 このヘッダーは、バージョン 2019-02-02 以降でサポートされています。
x-ms-encryption-context 省略可能。 既定値は "空" です。 値が設定されている場合は、BLOB システム のメタデータが設定されます。 最大長-1024。 アカウントに対して階層型名前空間が有効になっている場合にのみ有効です。 このヘッダーは、バージョン 2021-08-06 以降でサポートされています。
x-ms-tags 省略可能。 BLOB に指定されたクエリ文字列でエンコードされたタグを設定します。 詳細については、「解説」を参照してください。 バージョン 2019-12-12 以降でサポートされています。
x-ms-lease-id:<ID> BLOB にアクティブなリースが存在する場合は必須です。 アクティブなリースが存在する BLOB に対してこの操作を実行するには、このヘッダーに有効なリース ID を指定します。
x-ms-blob-content-disposition 省略可能。 BLOB の Content-Disposition ヘッダーを設定します。 バージョン 2013-08-15 以降で使用できます。

応答ヘッダー フィールドは Content-Disposition 、応答ペイロードを処理する方法に関する追加情報を提供し、それを使用して追加のメタデータを添付できます。 たとえば、ヘッダーが に attachment設定されている場合は、ユーザー エージェントが応答を表示しないことを示します。 代わりに、指定した BLOB 名以外のファイル名を含む [名前を付けて保存] ダイアログが表示されます。

[BLOB の取得] 操作と [BLOB プロパティの取得] 操作からの応答には、 ヘッダーがcontent-disposition含まれます。
Origin 省略可能。 要求の送信元を指定します。 このヘッダーが存在する場合、応答のクロス オリジン リソース共有 (CORS) ヘッダーになります。 詳細については、「 Azure Storage サービスの CORS サポート」を参照してください。
x-ms-client-request-id 省略可能。 ログ記録の構成時に分析ログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「 ストレージ分析ログについて」を参照してください。
x-ms-access-tier 省略可能。 BLOB に設定する層。 バージョン 2017-04-17 以降のPremium Storage アカウント上のページ BLOB の場合。 ページ BLOB でサポートされる層の完全な一覧については、「 仮想マシン (VM) の高パフォーマンス Premium Storage とマネージド ディスク」を参照してください。 ブロック BLOB の場合、BLOB ストレージまたは汎用 v2 アカウントでサポートされるのは、バージョン 2018-11-09 以降のみです。 ブロック BLOB 層の有効な値は、Hot、、CoolCold、および Archiveです。 : Cold レベルは、バージョン 2021-12-02 以降でサポートされています。 ブロック BLOB の階層化の詳細については、「 ホット、クール、アーカイブのストレージ層」を参照してください。
x-ms-immutability-policy-until-date バージョン 2020-06-12 以降。 BLOB に設定する 保持期間 の日付を指定します。 これは、BLOB が変更または削除されないように保護できる日付です。 RFC1123形式に従います。
x-ms-immutability-policy-mode バージョン 2020-06-12 以降。 BLOB に設定する不変ポリシー モードを指定します。 有効値は unlocked または locked です。 では unlocked、ユーザーは保持期間の日付を増減することでポリシーを変更できます。 では locked、これらのアクションは禁止されています。
x-ms-legal-hold バージョン 2020-06-12 以降。 BLOB に設定する訴訟ホールドを指定します。 有効な値は truefalse です。
x-ms-expiry-option 省略可能。 バージョン 2023-08-03 以降。 要求の有効期限オプションを指定します。 詳細については、「 ExpiryOption」を参照してください。 このヘッダーは、階層型名前空間が有効になっているアカウントに対して有効です。
x-ms-expiry-time 省略可能。 バージョン 2023-08-03 以降。 BLOB の有効期限が切れる時間を指定します。 有効期限の形式は、 によって x-ms-expiry-option異なります。 詳細については、「 ExpiryOption」を参照してください。 このヘッダーは、階層型名前空間が有効になっているアカウントに対して有効です。

この操作では、条件ヘッダーを使用して、指定した条件を満たした場合にのみ BLOB を書き込むこともできます。 詳細については、「 Blob Storage 操作の条件付きヘッダーを指定する」を参照してください。

要求ヘッダー (ページ BLOB のみ)

次の表では、ページ BLOB に対する操作にのみ適用される要求ヘッダーについて説明します。

要求ヘッダー 説明
x-ms-blob-content-length: bytes ページ BLOB の場合は必須です。 このヘッダーでは、ページ BLOB の最大サイズ (最大 8 テビバイト (TiB) を指定します。 ページ BLOB のサイズは 512 バイトの境界に合わせて指定する必要があります。

ブロック BLOB または追加 BLOB にこのヘッダーが指定されている場合、Blob Storage は状態コード 400 (無効な要求) を返します。
x-ms-blob-sequence-number: <num> 省略可能。 ページ BLOB の場合にのみ設定します。 シーケンス番号は、ユーザーが要求を追跡するために使用するユーザー制御の値です。 シーケンス番号の値は、0 ~ 2^63 - 1 である必要があります。 既定値は 0 です。
x-ms-access-tier バージョン 2017-04-17 以降。 Premium Storage アカウント上のページ BLOB の場合のみ。 BLOB に設定する層を指定します。 サポートされているレベルの完全な一覧については、 VM の高パフォーマンス Premium Storage とマネージド ディスクに関するページを参照してください。
x-ms-client-request-id このヘッダーは、要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値 x-ms-client-request-id は、要求に存在し、値に 1,024 文字以下の ASCII 文字が含まれている場合、ヘッダーの値と同じです。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、応答には存在しません。

要求ヘッダー (顧客指定の暗号化キー)

バージョン 2019-02-02 の時点で、顧客が指定したキーを使用して BLOB を暗号化する要求で、次のヘッダーを指定できます。 顧客が指定したキー (および対応するヘッダーのセット) を使用した暗号化は省略可能です。

要求ヘッダー 説明
x-ms-encryption-key 必須。 Base64 でエンコードされた AES-256 暗号化キー。
x-ms-encryption-key-sha256 必須。 暗号化キーの Base64 でエンコードされた SHA256 ハッシュ。
x-ms-encryption-algorithm: AES256 必須。 暗号化に使用するアルゴリズムを指定します。 このヘッダーの値は AES256 である必要があります。

要求本文

ブロック BLOB の場合、要求本文には BLOB のコンテンツが含まれます。

ページ BLOB または追加 BLOB の場合、要求本文は空です。

要求のサンプル

次の例は、ブロック BLOB を作成するための要求を示しています。

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Content-Type: text/plain; charset=UTF-8  
x-ms-blob-content-disposition: attachment; filename="fname.ext"  
x-ms-blob-type: BlockBlob  
x-ms-meta-m1: v1  
x-ms-meta-m2: v2  
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Content-Length: 11  
  
Request Body:  
hello world

このサンプル要求では、ページ BLOB を作成し、その最大サイズを 1,024 バイトとして指定します。 ページ BLOB にコンテンツを追加するには、 Put Page を呼び出す必要があります。

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Content-Type: text/plain; charset=UTF-8  
x-ms-blob-type: PageBlob  
x-ms-blob-content-length: 1024  
x-ms-blob-sequence-number: 0  
Authorization: SharedKey   
Origin: http://contoso.com  
Vary: Origin  
myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Content-Length: 0  

このサンプル要求では、追加 BLOB を作成します。 追加 BLOB にコンテンツを追加するには、 Append Block を呼び出す必要があります。

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Content-Type: text/plain; charset=UTF-8  
x-ms-blob-type: AppendBlob  
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Origin: http://contoso.com  
Vary: Origin  
Content-Length: 0  

Response

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

status code

操作が正常に終了すると、状態コード 201 (Created) が返されます。

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

応答ヘッダー

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

応答ヘッダー 説明
ETag 要求ヘッダーを使用して条件付き PUT 操作を実行するためにクライアントが使用できる値を If-Match 格納します。 要求バージョンが 2011-08-18 以降の場合、ETag 値は引用符で囲まれます。
Last-Modified BLOB が最後に変更された日時。 日付形式は RFC 1123 に従います。 詳細については、「 ヘッダーの日付/時刻値を表す」を参照してください。

BLOB の書き込み操作 (BLOB のメタデータまたはプロパティの更新など) を行うと、BLOB の最終更新時刻が変更されます。
Content-MD5 クライアントがメッセージ コンテンツの整合性をチェックできるように、ブロック BLOB に対して返されます。 返される値は Content-MD5 Blob Storage によって計算されます。 バージョン 2012-02-12 以降では、要求に または x-ms-blob-content-md5 ヘッダーが含Content-MD5まれていない場合でも、このヘッダーが返されます。
x-ms-content-crc64 クライアントがメッセージ コンテンツの整合性をチェックできるように、ブロック BLOB に対して返されます。 返される値は x-ms-content-crc64 Blob Storage によって計算されます。 このヘッダーは、バージョン 2019-02-02 の時点で常に返されます。
x-ms-request-id 行われた要求を一意に識別し、それを使用して要求のトラブルシューティングを行うことができます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。
x-ms-version 要求の実行に使用された Blob Storage のバージョンを示します。 バージョン 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-request-server-encrypted: true/false バージョン 2015-12-11 以降。 指定したアルゴリズムを true 使用して要求の内容が正常に暗号化された場合、このヘッダーの値は に設定されます。 それ以外の場合、値は falseに設定されます。
x-ms-encryption-key-sha256 バージョン 2019-02-02 以降。 クライアントが指定されたキーを使用して要求の内容が正常に暗号化されるように、要求で顧客が指定したキーを暗号化に使用した場合に返されます。
x-ms-encryption-scope バージョン 2019-02-02 以降。 クライアントが暗号化スコープを使用して要求の内容が正常に暗号化されるようにするために、要求が暗号化スコープを使用した場合に返されます。
x-ms-version-id: <DateTime> バージョン 2019-12-12 以降。 このヘッダーは、BLOB を一意に識別する不透明な DateTime 値を返します。 このヘッダーの値は BLOB のバージョンを示し、後続の要求で BLOB にアクセスするために使用できます。

応答本文

[なし] :

応答のサンプル

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==  
x-ms-content-crc64: 77uWZTolTHU
Date: <date>  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: <date>  
Access-Control-Allow-Origin: http://contoso.com  
Access-Control-Expose-Headers: Content-MD5  
Access-Control-Allow-Credentials: True  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-version-id: <DateTime>  

承認

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

要求で要求ヘッダーを持つタグが指定されている x-ms-tags 場合、呼び出し元は BLOB タグの設定 操作の承認要件を満たす必要があります。

重要

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

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

注釈

BLOB を作成するときは、ヘッダーの値を指定して、ブロック BLOB、追加 BLOB、またはページ BLOB のいずれであるかを指定する x-ms-blob-type 必要があります。 BLOB が作成された後は、BLOB が削除されて再作成されない限り、BLOB の種類を変更することはできません。

次の表では、許可されるブロックと BLOB の最大サイズをサービス のバージョン別に示します。

サービスのバージョン 最大ブロック サイズ (経由 Put Block) 最大 BLOB サイズ (経由 Put Block List) 1 回の書き込み操作による最大 BLOB サイズ (経由 Put Blob)
バージョン 2019-12-12 以降 4,000 メガバイト (MiB) 約 190.7 TiB (4,000 MiB × 50,000 ブロック) 5,000 MiB
バージョン 2016-05-31 から 2019-07-07 100 MiB 約 4.75 TiB (100 MiB × 50,000 ブロック) 256 MiB
2016-05-31 より前のバージョン 4 MiB 約 195 GiB (4 MiB × 50,000 ブロック) 64 MiB

そのサービス バージョンで許可されている最大サイズを超えるブロック BLOB または 8 TiB を超えるページ BLOB をアップロードしようとすると、サービスは状態コード 413 (要求エンティティが大きすぎます) を返します。 Blob Storage は、許可される BLOB の最大サイズ (バイト単位) を含む、応答のエラーに関する追加情報も返します。

新しいページ BLOB を作成するには、最初に を呼び出 Put Blobして BLOB を初期化し、最大サイズ (最大 8 TiB) を指定します。 ページ BLOB を作成するときは、要求本文にコンテンツを含めないでください。 BLOB が作成されたら、 Put Page を呼び出して BLOB にコンテンツを追加するか、変更します。

新しい追加 BLOB を作成するには、 を呼び出 Put Blob して、コンテンツの長さが 0 バイトの BLOB を作成します。 追加 BLOB が作成されたら、 Append Block を呼び出して、その末尾にコンテンツを追加します。

を呼び出 Put Blob して同じ名前の既存の BLOB を上書きすると、元の BLOB に関連付けられているすべてのスナップショットが保持されます。 関連付けられているスナップショットを削除するには、まず Delete Blob を呼び出し、 を呼び出 Put Blob して BLOB を再作成します。

BLOB カスタム プロパティ

BLOB には、標準の HTTP ヘッダーに関連付けられている値を格納するために使用できるカスタム プロパティ (ヘッダー経由で設定) があります。 その後、Get Blob Properties を呼び出してこれらの値を読み取るか、 Set Blob Properties を呼び出して変更できます。 カスタム プロパティ ヘッダーと対応する標準 HTTP ヘッダーを次の表に示します。

HTTP ヘッダー カスタム BLOB プロパティ ヘッダー
Content-Type x-ms-blob-content-type
Content-Encoding x-ms-blob-content-encoding
Content-Language x-ms-blob-content-language
Content-MD5 x-ms-blob-content-md5
Cache-Control x-ms-blob-cache-control

BLOB を使用してこれらのプロパティ値を設定または永続化するためのセマンティクスは次のとおりです。

  • クライアントが x-ms-blob プレフィックスでカスタム プロパティ ヘッダーを指定した場合、その値は BLOB に保存されます。

  • クライアントが標準の HTTP ヘッダーを指定し、カスタム プロパティ ヘッダーを指定しない場合、値は BLOB に関連付けられている対応するカスタム プロパティに格納され、 の Get Blob Properties呼び出しによって返されます。 たとえば、クライアントが要求に Content-Type ヘッダーを設定した場合、その値は BLOB の x-ms-blob-content-type プロパティに保存されます。

  • クライアントが標準 HTTP ヘッダーと対応するプロパティ ヘッダーの両方を同じ要求に設定した場合、PUT 要求では標準 HTTP ヘッダーに指定された値が使用されますが、カスタム プロパティ ヘッダーに指定された値は BLOB で保持され、後続の GET 要求によって返されます。

ヘッダーにタグが x-ms-tags 指定されている場合は、クエリ文字列でエンコードする必要があります。 タグ キーと値は、 で指定されている名前付けと長さの要件に Set Blob Tags準拠している必要があります。 また、ヘッダーには x-ms-tags 最大 2 kb のタグを含むことができます。 さらにタグが必要な場合は、 BLOB タグの設定操作を 使用します。

BLOB にアクティブなリースがある場合、クライアントは要求で有効なリース ID を指定して BLOB を上書きする必要があります。 クライアントがリース ID を指定しない場合、または無効なリース ID を指定した場合、Blob Storage は状態コード 412 (前提条件に失敗しました) を返します。 クライアントでリース ID が指定されているが、BLOB にアクティブなリースがない場合、Blob Storage は状態コード 412 (前提条件に失敗) も返します。 クライアントでまだ存在しない BLOB のリース ID が指定されている場合、Blob Storage はバージョン 2013-08-15 以降に対して行われた要求の状態コード 412 (前提条件に失敗しました) を返します。 2013-08-15 より前のバージョンの場合、Blob Storage は状態コード 201 (作成済み) を返します。

アクティブなリースを持つ既存の BLOB が操作によって Put Blob 上書きされた場合、リースは、有効期限が切れるか解放されるまで、更新された BLOB に保持されます。

Put Blob操作は、MiB ごとに 10 分で完了できます。 操作に平均で MiB あたり 10 分を超える時間がかかる場合、操作はタイムアウトします。

BLOB の上書きがarchive失敗し、 または cool BLOB を上書きするとhot、ヘッダーが指定されていない場合、古い BLOB から層がx-ms-access-tier継承されます。

ExpiryOption

ヘッダーとして次の値を x-ms-expiry-option 送信できます。 このヘッダーでは、大文字と小文字は区別されません。

有効期限オプション 説明
RelativeToNow 現在の時刻を基準にして有効期限を設定します。 x-ms-expiry-time は、現在の時刻から経過するミリ秒数として指定する必要があります。
Absolute x-ms-expiry-time は、RFC 1123 形式で絶対時刻として指定する必要があります。
NeverExpire BLOB を無期限に設定するか、現在の有効期限を削除します。 x-ms-expiry-time を指定することはできません。

BLOB に有効期限を設定するためのセマンティクスは次のとおりです。

  • Set Expiry は、ディレクトリではなく BLOB でのみ設定できます。
  • Set Expiry 過去の を expiryTime 持つ は許可されていません。
  • ExpiryTimeの値NeverexpiryOption指定することはできません。

請求

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

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

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

こちらもご覧ください

Azure Storage への要求を承認する
状態コードとエラー コード
BLOB サービスのエラー コード
BLOB サービス操作のタイムアウトを設定する