Eliminare e ripristinare un BLOB con JavaScript o TypeScript
Questo articolo illustra come eliminare i BLOB con la libreria client Archiviazione di Azure per JavaScript e come ripristinare i BLOB eliminati soft durante il periodo di conservazione.
Prerequisiti
- Gli esempi in questo articolo presuppongono che sia già stato configurato un progetto per l'uso con la libreria client di Archiviazione BLOB di Azure per JavaScript. Per informazioni sulla configurazione del progetto, incluse l'installazione del pacchetto, l'importazione di moduli e la creazione di un oggetto client autorizzato per l'uso con le risorse dati, consultare Introduzione ad Archivio BLOB di Azure e JavaScript.
- Il meccanismo di autorizzazione deve disporre delle autorizzazioni per eliminare un BLOB o per ripristinare un BLOB eliminato temporaneamente. Per altre informazioni, vedere le linee guida per l'autorizzazione per le operazioni API REST seguenti:
Eliminare un BLOB
Nota
Quando l’eliminazione temporanea del BLOB è abilitata per un account di archiviazione, non è possibile eseguire un’eliminazione permanente usando i metodi della libreria client. Usando i metodi descritti in questo articolo, un BLOB eliminato temporaneamente, una versione del BLOB o uno snapshot rimangono disponibili fino alla scadenza del periodo di conservazione, dopodiché vengono eliminati definitivamente. Per altre informazioni sull'operazione dell'API REST sottostante, vedere Eliminare BLOB (API REST).
Per eliminare un BLOB, chiamare uno dei metodi seguenti:
Se il BLOB ha snapshot associati, è necessario eliminare tutti gli snapshot per eliminare il BLOB. L'esempio di codice seguente illustra come eliminare un BLOB e i relativi snapshot:
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);
}
Ripristinare un BLOB eliminato
L'eliminazione temporanea dei BLOB protegge un singolo BLOB con le sue versioni, gli snapshot e i metadati da eliminazioni o sovrascritture accidentali, mantenendo i dati eliminati nel sistema per un periodo di tempo specificato. Durante il periodo di conservazione è possibile ripristinare il BLOB nello stato in cui era al momento dell'eliminazione. Dopo la scadenza del periodo di conservazione, il BLOB viene eliminato definitivamente. Per altre informazioni sull'eliminazione temporanea dei BLOB, vedere Eliminazione temporanea per i BLOB.
È possibile usare le librerie client di Archiviazione di Azure per ripristinare un BLOB o uno snapshot eliminato temporaneamente.
Ripristinare gli oggetti eliminati temporaneamente quando il controllo delle versioni è disabilitato
Per ripristinare i BLOB eliminati soft-delete, chiamare il metodo seguente:
Questo metodo ripristina i BLOB eliminati temporaneamente e tutti gli snapshot eliminati associati. Chiamare questo metodo per un BLOB che non è stato eliminato non ha alcun effetto.
async function undeleteBlob(containerClient, blobName){
// Create blob client from container client
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
await blockBlobClient.undelete();
}
Risorse
Per altre informazioni su come eliminare BLOB e ripristinare i BLOB eliminati con la libreria client di Archivio BLOB di Azure per JavaScript, vedere le risorse seguenti.
Esempi di codice
- Visualizzare esempi di codice JavaScript e TypeScript di questo articolo (GitHub)
Operazioni dell'API REST
Azure SDK per JavaScript contiene librerie basate sull'API REST di Azure che consentono di interagire con le operazioni dell'API REST tramite paradigmi noti di JavaScript. I metodi della libreria client per eliminare i BLOB e ripristinare i BLOB eliminati usano le operazioni API REST seguenti:
- Delete Blob (API REST)
- Undelete Blob (API REST)
Risorse della libreria client
- Documentazione di riferimento della libreria client
- Codice sorgente della libreria client
- Pacchetto (npm)
Vedi anche
Contenuto correlato
- Questo articolo fa parte della guida per sviluppatori di Archiviazione BLOB per JavaScript/TypeScript. Per altre informazioni, vedere l'elenco completo degli articoli della guida per sviluppatori in Creare l'app JavaScript/TypeScript.