Teilen über


Löschen und Wiederherstellen eines Blobs mit TypeScript

In diesem Artikel wird beschrieben, wie Blobs mithilfe der Azure Storage-Clientbibliothek für JavaScript gelöscht werden. Wenn Sie vorläufiges Löschen für Blobs aktiviert haben, können Sie gelöschte Blobs während des Aufbewahrungszeitraums wiederherstellen.

Voraussetzungen

  • Bei den Beispielen in diesem Artikel wird davon ausgegangen, dass Sie bereits ein Projekt für die Arbeit mit der Azure Blob Storage-Clientbibliothek für JavaScript eingerichtet haben. Informationen zum Einrichten Ihres Projekts – einschließlich Paketinstallation, Importieren von Modulen und Erstellen eines autorisierten Clientobjekts für die Verwendung mit Datenressourcen  – finden Sie unter Erste Schritte mit Azure Blob Storage und TypeScript.
  • 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

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: ContainerClient,
  blobName
): Promise<void> {
  // Create blob client from container client
  const blockBlobClient: BlockBlobClient =
    await containerClient.getBlockBlobClient(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: BlobDeleteOptions = {
    deleteSnapshots: 'include' // or 'only'
  };
  const blobDeleteResponse: BlobDeleteResponse = await blockBlobClient.delete(
    options
  );

  if (!blobDeleteResponse.errorCode) {
    console.log(`deleted blob ${blobName}`);
  }
}

Im folgenden Beispiel wird ein Blob gelöscht, sofern es vorhanden ist.

async function deleteBlobIfItExists(
  containerClient: ContainerClient,
  blobName
): Promise<void> {
  // Create blob client from container client
  const blockBlobClient = await containerClient.getBlockBlobClient(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: BlobDeleteOptions = {
    deleteSnapshots: 'include' // or 'only'
  };
  const blobDeleteIfExistsResponse: BlobDeleteIfExistsResponse =
    await blockBlobClient.deleteIfExists(options);

  if (!blobDeleteIfExistsResponse.errorCode) {
    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: ContainerClient,
  blobName
): Promise<void> {
  // Create blob client from container client
  const blockBlobClient: BlockBlobClient =
    await containerClient.getBlockBlobClient(blobName);

  const options: BlobUndeleteOptions = {};
  const blobUndeleteResponse: BlobUndeleteResponse =
    await blockBlobClient.undelete(options);

  if (!blobUndeleteResponse.errorCode) {
    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:

Codebeispiele

Ressourcen zur Clientbibliothek

Siehe auch