Löschen und Wiederherstellen eines Blobs mit JavaScript
In diesem Artikel wird gezeigt, wie Sie Blobs mithilfe der Azure Storage-Clientbibliothek für JavaScript löschen, und wie Sie Blobs wiederherstellen, die während des Aufbewahrungszeitraums vorläufig gelöscht wurden.
Voraussetzungen
- Bei den Beispielen in diesem Artikel wird davon ausgegangen, dass Sie bereits ein Projekt eingerichtet haben, das mit der Azure Blob Storage Clientbibliothek für JavaScript arbeitet. Informationen zum Einrichten Ihres Projekts, einschließlich der Paketinstallation, dem Importieren von Modulen und dem Erstellen eines autorisierten Clientobjekts für die Verwendung mit Datenressourcen, finden Sie unter Erste Schritte mit Azure Blob Storage und JavaScript.
- Der Autorisierungsmechanismus muss über Berechtigungen zum Löschen eines Blobs oder zum Wiederherstellen eines vorläufig gelöschten Blobs verfügen. Weitere Informationen finden Sie im Autorisierungsleitfaden für die folgenden REST-API-Vorgänge:
Löschen eines Blobs
Hinweis
Wenn „vorläufiges Löschen“ für Blobs in einem Speicherkonto aktiviert ist, können Sie mithilfe der Methoden aus der Clientbibliothek keinen dauerhaften Löschvorgang durchführen. Wenn Sie die Methoden in diesem Artikel anwenden, bleiben ein vorläufig gelöschtes Blob, eine Blobversion oder eine Momentaufnahme verfügbar, bis der Aufbewahrungszeitraum abläuft. Zu diesem Zeitpunkt erfolgt dann die dauerhafte Löschung. Weitere Informationen zum zugrunde liegenden REST-API-Vorgang finden Sie unter Blob löschen (REST-API).
Zum Löschen eines Blobs erstellen Sie ein BlobClient-Objekt, und rufen Sie eine der folgenden Methoden auf:
Im folgenden Beispiel wird ein Blob gelöscht.
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' // or 'only'
}
// Create blob client from container client
const blockBlobClient = await containerClient.getBlockBlobClient(blobName);
await blockBlobClient.delete(options);
console.log(`deleted blob ${blobName}`);
}
Im folgenden Beispiel wird ein Blob gelöscht, sofern es vorhanden ist.
async function deleteBlobIfItExists(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' // or 'only'
}
// Create blob client from container client
const blockBlobClient = await containerClient.getBlockBlobClient(blobName);
await blockBlobClient.deleteIfExists(options);
console.log(`deleted blob ${blobName}`);
}
Wiederherstellen eines gelöschten Blobs
Vorläufiges Löschen von Blobs schützt ein einzelnes Blob sowie seine Versionen, Momentaufnahmen und Metadaten vor versehentlichen Lösch- oder Überschreibungsvorgängen, da die Daten für einen gewissen Zeitraum im System verbleiben. Während der Beibehaltungsdauer kann das Blob in dem Zustand wiederhergestellt werden, in dem es sich zum Zeitpunkt der Löschung befand. Nach Ablauf der Beibehaltungsdauer wird das Blob endgültig gelöscht. Weitere Informationen zum vorläufigen Löschen von Blobs finden Sie unter Vorläufiges Löschen für Blobs.
Sie können die Azure Storage-Clientbibliotheken verwenden, um vorläufig gelöschte Blobs oder Momentaufnahmen wiederherzustellen.
Wiederherstellen vorläufig gelöschter Objekte bei deaktivierter Versionsverwaltung
Zum Wiederherstellen von gelöschten Blobs erstellen Sie ein BlobClient-Objekt, und rufen Sie die folgende Methode auf:
Diese Methode stellt vorläufig gelöschte Blobs und alle ihnen zugeordneten gelöschten Momentaufnahmen wieder her. Der Aufruf dieser Methode für ein nicht gelöschtes Blob hat keinerlei Auswirkung.
async function undeleteBlob(containerClient, blobName){
// Create blob client from container client
const blockBlobClient = await containerClient.getBlockBlobClient(blobName);
await blockBlobClient.undelete();
console.log(`undeleted blob ${blobName}`);
}
Ressourcen
Weitere Informationen zum Löschen von Blobs und zum Wiederherstellen gelöschter Blobs mithilfe der Azure Blob Storage-Clientbibliothek für JavaScript finden Sie in den folgenden Ressourcen.
REST-API-Vorgänge
Das Azure SDK für JavaScript enthält Bibliotheken, die auf der zugrunde liegenden Azure-REST-API basieren und ermöglicht Ihnen dadurch die Interaktion mit REST-API-Vorgängen über vertraute JavaScript-Paradigmen. Die Methoden der Clientbibliothek zum Löschen oder Wiederherstellen von Blobs verwenden die folgenden REST-API-Vorgänge:
- Löschen eines Blob (REST-API)
- Wiederherstellen eines Blob (REST-API)