次の方法で共有


ブロブを削除

Delete Blob操作では、指定された BLOB またはスナップショットが削除されます。

BLOB を削除するには、そのスナップショットをすべて削除する必要があることに注意してください。 Delete Blob操作で両方を同時に削除できます。

リクエスト

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

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

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

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

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

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

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

詳細については、「 ローカル Azure Storage 開発に Azurite エミュレーターを使用する」を参照してください。

URI パラメーター

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

パラメーター Description
snapshot Optional. スナップショット パラメーターは不透明な DateTime 値であり、存在する場合は、削除する BLOB スナップショットを指定します。 BLOB スナップショットの操作の詳細については、「 BLOB のスナップショットの作成」を参照してください。
versionid オプション、バージョン 2019-12-12 以降。 versionid パラメーターは不透明な DateTime 値であり、存在する場合は、削除する BLOB のバージョンを指定します。
timeout Optional. timeout パラメーターは秒単位で表されます。 詳細については、「 Blob Storage 操作のタイムアウトの設定」を参照してください。
deletetype オプション、バージョン 2020-02-10 以降。 deletetypeの値はpermanentしかできません。

要求ヘッダー

次の表では、必須およびオプションの要求ヘッダーについて説明します。

リクエストヘッダー Description
Authorization 必須。 認可スキーム、アカウント名、および署名を指定します。 詳細については、「 Azure Storage への要求を承認する」を参照してください。
Date または x-ms-date 必須。 要求の協定世界時 (UTC) を指定します。 詳細については、「 Azure Storage への要求を承認する」を参照してください。
x-ms-version 許可されたすべての要求に必要です。 詳細については、「 Azure Storage サービスのバージョン管理」を参照してください。
x-ms-lease-id:<ID> BLOBにアクティブなリースがある場合は必要となります。 アクティブなリースを持つ BLOB でこの操作を実行するには、このヘッダーの有効なリース ID を指定します。

このヘッダーが要求で指定されていない場合、Blob Storage は状態コード 412 (LeaseIdMissing、前提条件が失敗しました) を返します。

要求で不適切な形式のリース ID が指定されている場合、操作は状態コード 400 (InvalidHeaderValue、不正な要求) で失敗します。

適切な形式のリース ID が指定されているが、指定されたリース ID が BLOB に関連付けられていない場合、操作は状態コード 412 (LeaseIdMismatchWithBlobOperation、前提条件の失敗) で失敗します
x-ms-delete-snapshots: {include, only} BLOB にスナップショットが関連付けられている場合に必要です。 次のいずれかのオプションを指定します。

- include: ベース BLOB とそのすべてのスナップショットを削除します。
- only: BLOB 自体は削除せず、BLOB のスナップショットのみを削除します。

このヘッダーは、ベース BLOB リソースに対する要求に対してのみ指定します。 個々のスナップショットを削除する要求でこのヘッダーが指定されている場合、Blob Storage は状態コード 400 (Bad Request) を返します。

このヘッダーが要求で指定されておらず、BLOB にスナップショットが関連付けられている場合、Blob Storage は状態コード 409 (競合) を返します。
x-ms-client-request-id Optional. クライアントが生成した不透明な値に、ログの構成時にログに記録される 1 キビバイト (KiB) の文字制限を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けることを強くお勧めします。 詳細については、「 Azure Blob Storage の監視」を参照してください。

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

リクエストの本文

なし。

[応答]

応答には、HTTP ステータスコードと一連の応答ヘッダーが含まれます。

状態コード

操作が成功すると、状態コード 202 (承認済み) が返されます。 状態コードの詳細については、「 状態コードとエラー コード」を参照してください。

応答ヘッダー

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

応答ヘッダー Description
x-ms-request-id このヘッダーは、行われた要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。
x-ms-version 要求の実行に使用される Blob Storage のバージョンを示します。 このヘッダーは、バージョン 2009-09-19 以降に対して行われた要求に対して返されます。
x-ms-delete-type-permanent バージョン 2017-07-29 以降では、BLOB ストレージは BLOB が完全に削除された場合は true 、BLOB が論理的に削除された場合は false を返します。
Date 応答が開始された時刻を示す UTC の日付/時刻値。 サービスによってこの値が生成されます。
x-ms-client-request-id このヘッダーを使用して、要求と対応する応答のトラブルシューティングを行うことができます。 このヘッダーの値は、要求に存在する場合、 x-ms-client-request-id ヘッダーの値と等しくなります。 この値は、最大で 1,024 文字の表示 ASCII 文字です。 x-ms-client-request-id ヘッダーが要求に存在しない場合、このヘッダーは応答に存在しません。

Authorization

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

Important

Microsoft では、マネージド ID で Microsoft Entra ID を使用して、Azure Storage への要求を承認することをお勧めします。 Microsoft Entra ID は、共有キー承認と比較して優れたセキュリティと使いやすさを提供します。

Azure Storage では、Microsoft Entra ID を使用した BLOB データへの要求の承認がサポートされています。 Microsoft Entra ID を使用すると、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、セキュリティ プリンシパルにアクセス許可を付与できます。 セキュリティ プリンシパルは、ユーザー、グループ、アプリケーション サービス プリンシパル、または Azure マネージド ID です。 セキュリティ プリンシパルは、Microsoft Entra ID によって認証されて OAuth 2.0 トークンを返します。 その後、トークンを使用して、Blob service に対する要求を承認できます。

Microsoft Entra ID を使用した承認の詳細については、「 Microsoft Entra ID を使用して BLOB へのアクセスを承認する」を参照してください。

Permissions

Microsoft Entra ユーザー、グループ、マネージド ID、またはサービス プリンシパルが Delete Blob 操作を呼び出すために必要な RBAC アクションと、このアクションを含む最小特権の組み込み Azure RBAC ロールを次に示します。

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

注釈

BLOB にアクティブなリースがある場合、クライアントは要求を削除するために要求で有効なリース ID を指定する必要があります。

BLOB に多数のスナップショットがある場合、 Delete Blob 操作がタイムアウトする可能性があります。この場合、クライアントは要求を再試行する必要があります。

バージョン 2013-08-15 以降では、クライアントは Delete Blob を呼び出してコミットされていない BLOB を削除できます。 コミットされていない BLOB は、ブロックの書き込み操作の呼び出しで作成されたが、ブロック リストの書き込み操作を使用してコミットされたことのない BLOB です。 以前のバージョンでは、クライアントは BLOB を削除する前に、まず BLOB をコミットする必要があります。

論理的な削除機能が無効になっている

BLOB が正常に削除されると、ストレージ アカウントのインデックスからすぐに削除され、クライアントからアクセスできなくなります。

論理的な削除機能が有効

BLOB が正常に削除されると、論理的に削除され、クライアントからアクセスできなくなります。 Blob Storage は、Blob Storage の DeleteRetentionPolicy プロパティに指定された日数だけ BLOB またはスナップショットを保持します。 Blob Storage プロパティの読み取りの詳細については、「 Blob Storage プロパティの設定」を参照してください。

指定した日数が経過すると、BLOB のデータがサービスから削除されます。 論理的に削除された BLOB またはスナップショットにアクセスするには、 List Blobs 操作を呼び出し、 include=deleted オプションを指定します。

論理的に削除された BLOB またはスナップショットは、 [BLOB の削除の取り消し] を使用して復元できます。 論理的に削除された BLOB またはスナップショットに対するその他の操作の場合、Blob Storage はエラー 404 (リソースが見つかりません) を返します。

完全削除

バージョン 2020-02-10 以降では、論理的に削除されたスナップショットまたはバージョンを完全に削除できます。 そのためには、この機能を有効にします。 詳細については、「 Blob Storage プロパティの設定」を参照してください。

ストレージ アカウントでは、バージョン管理またはスナップショットが有効になっている必要があります。 また、アカウント内の BLOB のバージョンまたはスナップショットを論理的に削除するには、ストレージ アカウントで論理的な削除を有効にする必要があります。 永続的な削除では、論理的に削除されたスナップショットまたはバージョンのみが削除されます。

永続的な削除が有効になっているストレージ アカウントでは、 deletetype=permanent クエリ パラメーターを使用して、論理的に削除されたスナップショットまたは削除された BLOB バージョンを完全に削除できます。

クエリ パラメーターが次のいずれかを示す場合、Blob Storage は 409 エラー (競合) を返します。

  • ストレージ アカウントでは、永続的な削除機能が有効になっていません。
  • versionidsnapshotも提供されていません。
  • 指定したスナップショットまたはバージョンは論理的に削除されません。

永続的な削除には、BLOB スナップショットまたは BLOB バージョンを完全に削除するための Shared Access Signature アクセス許可も含まれます。 詳細については、「 サービス SAS の作成」を参照してください。

Billing

ストレージ アカウントでは、 Delete Blob 要求に対して課金されません。

こちらも参照ください

Azure Storage への要求を承認する

状態コードとエラー コード

BLOB Storage エラー コード

BLOB の削除を取り消す

BLOB のリスト