JavaScript または TypeScript を使用して BLOB を削除および復元する
この記事では、JavaScript 用の Azure Storage クライアント ライブラリを使用して BLOB を削除する方法と、保持期間中に論理的に削除された BLOB を復元する方法について説明します。
前提条件
- この記事の例では、JavaScript 用の Azure Blob Storage クライアント ライブラリを操作するように設定されたプロジェクトが、既にあることを前提としています。 パッケージのインストール、モジュールのインポート、データ リソースの操作が認可されたクライアント オブジェクトの作成など、プロジェクトの設定については、「Azure Blob Storage および JavaScript の概要」を参照してください。
- 承認メカニズム には、BLOB を削除するか、論理的に削除された BLOB を復元するためのアクセス許可が必要です。 詳細については、次の REST API 操作の認可ガイダンスを参照してください。
BLOB を削除する
Note
ストレージ アカウントで BLOB の論理的な削除が有効になっている場合、クライアント ライブラリのメソッドを使用して完全削除を実行することはできません。 この記事の方法では、論理的に削除された BLOB、BLOB のバージョン、またはスナップショットは、保持期間が切れるまで使用でき、その時点になると完全に削除されます。 基になる REST API 操作の詳細については、Delete BLOB (REST API) を参照してください。
BLOB を削除するには、次のいずれかのメソッドを呼び出します。
BLOB にスナップショットが関連付けられている場合は、そのスナップショットをすべて削除してから BLOB を削除する必要があります。 次のコード例は、BLOB とそのスナップショットを削除する方法を示しています。
async function deleteBlob(containerClient, blobName){
// include: Delete the base blob and all of its snapshots
// only: Delete only the blob's snapshots and not the blob itself
const options = {
deleteSnapshots: 'include'
}
// Create blob client from container client
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
await blockBlobClient.delete(options);
}
削除された BLOB を復元する
BLOB の論理的な削除を使用すると、削除されたデータがシステムに一定の期間保有されることにより、個々の BLOB とその複数バージョン、スナップショット、およびメタデータが誤った削除や上書きから保護されます。 保持期間中は、BLOB を削除時の状態に復元できます。 保持期間が過ぎると、BLOB は完全に削除されます。 BLOB の論理的な削除の詳細については、「BLOB の論理的な削除」を参照してください。
Azure Storage クライアント ライブラリを使用して、論理的に削除された BLOB またはスナップショットを復元できます。
バージョン管理が無効になっている場合に論理的に削除されたオブジェクトを復元する
論理的に削除された BLOB を復元するには、次のメソッドを呼び出します。
このメソッドでは、削除された BLOB と、それに関連付けられている削除済みスナップショットが復元されます。 削除されていない BLOB に対してこのメソッドを呼び出しても効果はありません。
async function undeleteBlob(containerClient, blobName){
// Create blob client from container client
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
await blockBlobClient.undelete();
}
リソース
JavaScript 用 Azure Blob Storage クライアント ライブラリを使用して、BLOB を削除したり、削除済みの BLOB を復元したりする方法の詳細については、次のリソースを参照してください。
コード サンプル
- この記事から、JavaScript と TypeScript のコード サンプルを表示する (GitHub)
REST API の操作
Azure SDK for JavaScript には Azure REST API に基づいて構築されたライブラリが含まれるため、使い慣れた JavaScript パラダイムを通じて REST API 操作を利用できます。 BLOB の削除および削除した BLOB の復元のためのクライアント ライブラリ メソッドでは、次の REST API 操作が使用されます。
- Delete Blob (REST API)
- Undelete Blob (REST API)
クライアント ライブラリのリソース
こちらもご覧ください
関連するコンテンツ
- この記事は、JavaScript/Typescript の Blob Storage 開発者ガイドの一部です。 詳しくは、「JavaScript/Typescript アプリを構築する」で、開発者ガイド記事全体の一覧をご覧ください。