分享方式:


使用 JavaScript 或 TypeScript 刪除和還原 Blob

本文說明如何使用適用於 JavaScript 的 Azure 儲存體 客戶端連結庫刪除 Blob,以及如何在保留期間還原虛刪除的 Blob。

必要條件

  • 本文中的範例假設您已設定專案,以搭配使用適用於 JavaScript 的 Azure Blob 儲存體用戶端程式庫。 若要了解設定專案,包括套件安裝、匯入模組,以及建立授權的用戶端物件來處理資料資源,請參閱開始使用 Azure Blob 儲存體和 JavaScript
  • 授權機制必須具有刪除 Blob 或還原虛刪除 Blob 的權限。 若要深入了解,請參閱下列 REST API 作業的授權指引:

刪除 Blob

注意

針對儲存體帳戶啟用 Blob 虛刪除時,您無法使用用戶端程式庫方法來執行永久刪除。 使用本文中的方法,虛刪除的 Blob、Blob 版本或快照集會維持可用狀態,直到保留期間到期,此時會永久刪除。 若要深入了解基礎 REST API 作業,請參閱刪除 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 儲存體用戶端程式庫來還原已虛刪除的 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 儲存體用戶端程式庫來刪除 Blob 和還原已刪除的 Blob,請參閱下列資源。

程式碼範例

REST API 操作

適用於 JavaScript 的 Azure SDK 包含建置在 Azure REST API 之上的程式庫,可讓您透過熟悉的 JavaScript 範例與 REST API 作業進行互動。 用來刪除 Blob 和還原已刪除 Blob 的用戶端程式庫方法會使用下列 REST API 作業:

用戶端程式庫資源

另請參閱

  • 本文是適用於 JavaScript/Typescript 的 Blob 記憶體開發人員指南的一部分。 若要深入瞭解,請參閱建置 JavaScript/Typescript 應用程式的完整開發人員指南文章清單。