JavaScript を使用して BLOB を削除して復元する

この記事では、JavaScript 用の Azure Storage クライアント ライブラリを使用して BLOB を削除する方法について説明します。 BLOB の論理的な削除を有効にしてある場合は、保持期間中に削除された BLOB を復元できます。

前提条件

  • この記事の例では、JavaScript 用の Azure Blob Storage クライアント ライブラリを操作するためのセットアップ済みプロジェクトが既にあることを前提としています。 パッケージのインストール、モジュールのインポート、データ リソースの操作が認可されたクライアント オブジェクトの作成など、プロジェクトの設定については、「Azure Blob Storage および JavaScript の概要」を参照してください。
  • 承認メカニズム には、BLOB を削除するか、論理的に削除された BLOB を復元するためのアクセス許可が必要です。 詳細については、次の REST API 操作の認可ガイダンスを参照してください。

BLOB を削除する

BLOB を作成するには、BlobClient を作成し、次のいずれかのメソッドを呼び出します。

次の例では、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' // or 'only'
  }

  // Create blob client from container client
  const blockBlobClient = await containerClient.getBlockBlobClient(blobName);

  await blockBlobClient.delete(options);

  console.log(`deleted blob ${blobName}`);

}

次の例では、BLOB が存在する場合にそれを削除します。

async function deleteBlobIfItExists(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' // or 'only'
  }

  // Create blob client from container client
  const blockBlobClient = await containerClient.getBlockBlobClient(blobName);

  await blockBlobClient.deleteIfExists(options);

  console.log(`deleted blob ${blobName}`);

}

削除された BLOB を復元する

BLOB の論理的な削除を使用すると、削除されたデータがシステムに一定の期間保有されることにより、個々の BLOB とその複数バージョン、スナップショット、およびメタデータが誤った削除や上書きから保護されます。 保持期間中は、BLOB を削除時の状態に復元できます。 保持期間が過ぎると、BLOB オブジェクトは完全に削除されます。 BLOB の論理的な削除の詳細については、「BLOB の論理的な削除」を参照してください。

Azure Storage クライアント ライブラリを使用して、論理的に削除された BLOB またはスナップショットを復元できます。

バージョン管理が無効になっている場合に論理的に削除されたオブジェクトを復元する

削除された BLOB を復元するには、BlobClient を作成し、次のメソッドを呼び出します。

このメソッドでは、削除された BLOB と、それに関連付けられている削除済みスナップショットが復元されます。 削除されていない BLOB に対してこのメソッドを呼び出しても効果はありません。

async function undeleteBlob(containerClient, blobName){

  // Create blob client from container client
  const blockBlobClient = await containerClient.getBlockBlobClient(blobName);

  await blockBlobClient.undelete();

  console.log(`undeleted blob ${blobName}`);

}

リソース

JavaScript 用 Azure Blob Storage クライアント ライブラリを使用して、BLOB を削除したり、削除済みの BLOB を復元したりする方法の詳細については、次のリソースを参照してください。

REST API の操作

Azure SDK for JavaScript には Azure REST API に基づいて構築されたライブラリが含まれるため、使い慣れた JavaScript パラダイムを通じて REST API 操作を利用できます。 BLOB の削除および削除した BLOB の復元のためのクライアント ライブラリ メソッドでは、次の REST API 操作が使用されます。

コード サンプル

クライアント ライブラリのリソース

こちらもご覧ください