Eliminación y restauración de un blob con JavaScript o TypeScript
Este artículo muestra cómo eliminar blobs usando la biblioteca cliente de Azure Storage para JavaScript y cómo restaurar blobs eliminados temporalmente durante el periodo de retención.
Requisitos previos
- Los ejemplos de este artículo asumen que ya tiene un proyecto configurado para trabajar con la librería cliente Azure Blob Storage para JavaScript. Para obtener más información sobre la configuración del proyecto, incluida la instalación de paquetes, la importación de módulos y la creación de un objeto cliente autorizado para trabajar con recursos de datos, consulte Introducción a Azure Blob Storage y JavaScript.
- El mecanismo de autorización debe tener permisos para eliminar un contenedor de blobs o para restaurar un contenedor eliminado temporalmente. Para obtener más información, consulte la guía de autorización para las siguientes operaciones de la API de REST:
Eliminar un blob
Nota:
Cuando la eliminación temporal de blobs está habilitada para una cuenta de almacenamiento, no puede realizar una eliminación permanente mediante métodos de biblioteca cliente. Usando los métodos de este artículo, un blob, una versión de blob o una instantánea eliminados de forma temporal permanecen disponibles hasta que expira el periodo de retención, momento en el que se eliminan de forma permanente. Para más información sobre la operación subyacente de la API de REST, consulte Eliminar blob (API de REST).
Para eliminar un blob, llame a uno de los métodos siguientes:
Si el blob tiene instantáneas asociadas, debe eliminar todas sus instantáneas para eliminar el blob. En el ejemplo de código siguiente se muestra cómo eliminar un blob y sus instantáneas:
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);
}
Restauración de un blob eliminado
La eliminación temporal de blobs protege a cada uno de los blobs y sus versiones, instantáneas y metadatos de errores accidentales al borrar o sobrescribir los datos, ya que conserva en el sistema los datos eliminados durante el período de tiempo que se especifique. Durante este período de retención, los blobs pueden restaurarse a su estado original. Una vez vencido el período de retención especificado, el blob se elimina permanentemente. Para más información sobre la eliminación temporal, consulte este artículo sobre la eliminación temporal de blobs.
Puede usar las bibliotecas cliente de Azure Storage para restaurar un blob o una instantánea eliminados temporalmente.
Restauración de objetos eliminados temporalmente cuando el control de versiones está deshabilitado
Para restaurar blobs eliminados temporalmente, llame al método siguiente:
Este método restaura los blobs eliminados temporalmente y las instantáneas eliminadas asociadas a este. La llamada a este método para un blob que no se haya eliminado no tiene ningún efecto.
async function undeleteBlob(containerClient, blobName){
// Create blob client from container client
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
await blockBlobClient.undelete();
}
Recursos
Para obtener más información sobre cómo eliminar blobs y restaurar blobs eliminados usando la biblioteca cliente de Azure Blob Storage para JavaScript, consulte los siguientes recursos.
Ejemplos de código
- Ver JavaScript y ejemplos de código de TypeScript de este artículo (GitHub)
Operaciones de API REST
El SDK de Azure para JavaScript contiene bibliotecas que se crean a partir de la API REST de Azure, lo que le permite interactuar con las operaciones de API REST a través de paradigmas conocidos de JavaScript. Los métodos de la biblioteca cliente para eliminar blobs y restaurar blobs eliminados usan las siguientes operaciones de la API de REST:
- Delete Blob (API REST)
- Undelete Blob (API REST)
Recursos de la biblioteca cliente
- Documentación de referencia de la biblioteca cliente
- Código fuente de la biblioteca del cliente
- Paquete (npm)
Vea también
Contenido relacionado
- Este artículo forma parte de la guía para desarrolladores de Blob Storage para JavaScript/Typescript. Para obtener más información, consulte la lista completa de artículos de la guía para desarrolladores en Compilación de la aplicación JavaScript/Typescript.