使用 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 操作
Azure SDK for JavaScript 包含基于 Azure REST API 而生成的库,允许你通过熟悉的 JavaScript 范例与 REST API 操作进行交互。 用于删除 Blob 和还原已删除 Blob 的客户端库方法使用以下 REST API 操作:
客户端库资源
另请参阅
相关内容
- 本文是适用于 JavaScript/Typescript 的 Blob 存储开发人员指南的一部分。 要了解详细信息,请参阅构建 JavaScript/Typescript 应用中的完整开发人员指南文章列表。