使用 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,請參閱下列資源。
程式碼範例
- 檢視本文中的 JavaScript 和 TypeScript 程式代碼範例 (GitHub)
REST API 操作
適用於 JavaScript 的 Azure SDK 包含建置在 Azure REST API 之上的程式庫,可讓您透過熟悉的 JavaScript 範例與 REST API 作業進行互動。 用來刪除 Blob 和還原已刪除 Blob 的用戶端程式庫方法會使用下列 REST API 作業:
用戶端程式庫資源
另請參閱
相關內容
- 本文是適用於 JavaScript/Typescript 的 Blob 記憶體開發人員指南的一部分。 若要深入瞭解,請參閱建置 JavaScript/Typescript 應用程式的完整開發人員指南文章清單。