Löschen und Wiederherstellen eines Blob-Containers mit JavaScript oder TypeScript

In diesem Artikel wird beschrieben, wie Container mithilfe der Azure Storage-Clientbibliothek für JavaScript gelöscht werden. Wenn Sie das vorläufige Löschen von Containern aktiviert haben, können Sie gelöschte Container wiederherstellen.

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 Blobcontainers oder zum Wiederherstellen eines vorläufig gelöschten Containers verfügen. Weitere Informationen finden Sie im Autorisierungsleitfaden für die folgenden REST-API-Vorgänge:

Löschen eines Containers

Verwenden Sie zum Löschen eines Containers die folgende Methode aus der Klasse BlobServiceClient:

Sie können einen Container auch mithilfe der folgenden Methode aus der Klasse ContainerClient löschen:

Nachdem Sie einen Container gelöscht haben, können Sie mindestens 30 Sekunden lang keinen Container mit demselben Namen erstellen. Beim Versuch, einen gleichnamigen Container zu erstellen, tritt der HTTP-Fehlercode 409 (Conflict) auf. Bei allen anderen Vorgängen für den Container oder die darin enthaltenen Blobs tritt der HTTP-Fehlercode 404 (Not Found) auf.

Im folgenden Beispiel wird ein BlobServiceClient-Objekt zum Löschen des angegebenen Containers verwendet:

async function deleteContainer(blobServiceClient, containerName) {
  
  return await blobServiceClient.deleteContainer(containerName);
}

Im folgenden Beispiel wird gezeigt, wie alle Container gelöscht werden, die mit einem angegebenen Präfix beginnen:

async function deleteContainersWithPrefix(blobServiceClient, prefix) {

  const containerOptions = {
    includeDeleted: false,
    includeMetadata: false,
    includeSystem: true,
    prefix
  }

  for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {

    try{
      const containerClient = blobServiceClient.getContainerClient(containerItem.name);

      await containerClient.delete();
  
      console.log(`Deleted ${containerItem.name} container - success`);
    }catch(ex){
      console.log(`Deleted ${containerItem.name} container - failed - ${ex.message}`);
    }
  }
}

Wiederherstellen eines gelöschten Containers

Wenn das vorläufige Löschen für Container in einem Speicherkonto aktiviert ist, kann ein Container und dessen Inhalt nach dem Löschen innerhalb eines von Ihnen angegebenen Aufbewahrungszeitraums wiederhergestellt werden. Sie können einen vorläufig gelöschten Container mithilfe eines Objekts vom Typ BlobServiceClient wiederherstellen:

Im folgenden Beispiel wird ein gelöschter Container gefunden, die Versions-ID dieses gelöschten Containers abgerufen und dann an die Methode undeleteContainer übergeben, um den Container wiederherzustellen.

async function undeleteContainer(blobServiceClient, containerName) {
  
  // Version to restore
  let containerVersion;

  const containerOptions = {
    includeDeleted: true,
    prefix: containerName
  }

  // Find the deleted container and restore it
  for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {
    if (containerItem.name === containerName) {
      containerVersion = containerItem.version;
    }
  }

  const containerClient = await blobServiceClient.undeleteContainer(
    containerName,
    containerVersion,
  );
}

Ressourcen

Weitere Informationen zum Löschen eines Containers mithilfe der Azure Blob Storage-Clientbibliothek für JavaScript finden Sie in den folgenden Ressourcen.

Codebeispiele

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 Clientbibliotheksmethoden zum Löschen oder Wiederherstellen eines Containers verwenden die folgenden REST-API-Vorgänge:

Ressourcen zur Clientbibliothek

Weitere Informationen

  • Dieser Artikel ist Teil des Blob Storage-Entwicklerleitfadens für JavaScript/Typescript. Weitere Informationen finden Sie in der vollständigen Liste der Entwicklerleitfadenartikel unter Erstellen Ihrer JavaScript/Typescript-App.