Megosztás a következőn keresztül:


Blobtároló törlése és visszaállítása JavaScript vagy TypeScript használatával

Ez a cikk bemutatja, hogyan törölhet tárolókat az Azure Storage JavaScript-ügyfélkódtárával. Ha engedélyezte a tárolók helyreállítható törlését, visszaállíthatja a törölt tárolókat.

Előfeltételek

  • A cikkben szereplő példák feltételezik, hogy már rendelkezik egy projekttel, amely a JavaScripthez készült Azure Blob Storage ügyfélkódtárral dolgozik. Ha szeretne többet megtudni a projekt beállításáról, beleértve a csomagtelepítést, a modulok importálását és egy engedélyezett ügyfélobjektum létrehozását az adaterőforrások használatához, olvassa el az Azure Blob Storage és a JavaScript használatának első lépéseit.
  • Az engedélyezési mechanizmusnak rendelkeznie kell a blobtároló törléséhez vagy egy helyreállíthatóan törölt tároló visszaállításához szükséges engedélyekkel. További információkért tekintse meg az alábbi REST API-műveletek engedélyezési útmutatóját:

Tároló törlése

Tároló törléséhez használja az alábbi módszert a BlobServiceClient osztályból:

A tárolót a Következő módszerrel is törölheti a ContainerClient osztályból:

A tároló törlése után legalább 30 másodpercig nem hozhat létre azonos nevű tárolót. Az azonos nevű tároló létrehozása HTTP-hibakóddal 409 (Conflict)meghiúsul. A tárolón vagy a benne lévő blobokon található egyéb műveletek HTTP-hibakóddal 404 (Not Found)meghiúsulnak.

Az alábbi példa egy BlobServiceClient objektumot használ a megadott tároló törléséhez:

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

Az alábbi példa bemutatja, hogyan törölhet minden olyan tárolót, amely egy megadott előtaggal kezdődik:

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}`);
    }
  }
}

Törölt tároló visszaállítása

Ha a tároló helyreállítható törlése engedélyezve van egy tárfiókhoz, a tároló és tartalma a törlést követően helyreállítható egy ön által megadott megőrzési időn belül. Helyreállíthatóan törölt tárolót blobServiceClient-objektum használatával állíthat vissza:

Az alábbi példa megkeres egy törölt tárolót, lekéri a törölt tároló verzióazonosítóját, majd átadja az azonosítót a undeleteContainer tároló visszaállításához.

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,
  );
}

Források

Ha többet szeretne megtudni egy tároló törléséről a JavaScripthez készült Azure Blob Storage ügyfélkódtár használatával, tekintse meg az alábbi erőforrásokat.

Kódminták

REST API-műveletek

Az Azure SDK for JavaScript olyan kódtárakat tartalmaz, amelyek az Azure REST API-ra épülnek, lehetővé téve a REST API-műveletek használatát ismert JavaScript-paradigmákon keresztül. A tároló törlésére vagy visszaállítására szolgáló ügyfélkódtár-metódusok a következő REST API-műveleteket használják:

Ügyfélkódtár erőforrásai

Lásd még