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


Blobtároló törlése és visszaállítása JavaScript 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ó JavaScriptben való törléséhez hozzon létre egy BlobServiceClientet vagy ContainerClientet , majd használja az alábbi módszerek egyikét:

A tároló törlése után legalább 30 másodpercig nem hozhat létre azonos nevű tárolót. Ha egy azonos nevű tárolót próbál létrehozni, a 409-ben megadott HTTP-hibakód (ütközés) meghiúsul. A tárolón vagy a blobokon található egyéb műveletek a 404-ben (nem található) hibakóddal meghiúsulnak.

Tároló törlése a BlobServiceClient használatával

Az alábbi példa törli a megadott tárolót. Tároló törlése a BlobServiceClient használatával:

// delete container immediately on blobServiceClient
async function deleteContainerImmediately(blobServiceClient, containerName) {
  const response = await blobServiceClient.deleteContainer(containerName);

  if (!response.errorCode) {
    console.log(`deleted ${containerItem.name} container`);
  }
}

Tároló törlése a ContainerClient használatával

Az alábbi példa bemutatja, hogyan törölheti az összes olyan tárolót, amelynek a neve egy megadott előtaggal kezdődik egy ContainerClient használatával.

async function deleteContainersWithPrefix(blobServiceClient, blobNamePrefix){

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

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

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

    const response = await containerClient.delete();

    if(!response.errorCode){
      console.log(`deleted ${containerItem.name} container`);
    }
  }
}

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, előfordulhat, hogy a tároló és tartalma a törlés után, a megadott megőrzési időn belül helyreáll. 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 az undeleteContainer metódusnak a tároló visszaállításához.

// Undelete specific container - last version
async function undeleteContainer(blobServiceClient, containerName) {

  // version to undelete
  let containerVersion;

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

  // container listing returns version (timestamp) in the ContainerItem
  for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {

    // if there are multiple deleted versions of the same container,
    // the versions are in asc time order
    // the last version is the most recent
    if (containerItem.name === containerName) {
      containerVersion = containerItem.version;
    }
  }

  const containerClient = await blobServiceClient.undeleteContainer(
    containerName,
    containerVersion,

    // optional/new container name - if unused, original container name is used
    //newContainerName 
  );

  // undelete was successful
  console.log(`${containerName} is undeleted`);

  // do something with containerClient
  // ...
}

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.

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:

Kódminták

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

Lásd még