Odstranění a obnovení kontejneru objektů blob pomocí JavaScriptu nebo TypeScriptu
Tento článek ukazuje, jak odstranit kontejnery s klientskou knihovnou Azure Storage pro JavaScript. Pokud jste povolili obnovitelné odstranění kontejneru, můžete odstraněné kontejnery obnovit.
Požadavky
- Příklady v tomto článku předpokládají, že už máte projekt nastavený tak, aby fungoval s klientskou knihovnou Azure Blob Storage pro JavaScript. Další informace o nastavení projektu, včetně instalace balíčku, importu modulů a vytvoření autorizovaného klientského objektu pro práci s datovými prostředky, najdete v tématu Začínáme se službou Azure Blob Storage a JavaScriptem.
- Autorizační mechanismus musí mít oprávnění k odstranění kontejneru objektů blob nebo obnovení obnovitelného odstraněného kontejneru. Další informace najdete v pokynech k autorizaci pro následující operace rozhraní REST API:
Odstranění kontejneru
Pokud chcete odstranit kontejner, použijte následující metodu z třídy BlobServiceClient :
Kontejner můžete také odstranit pomocí následující metody z třídy ContainerClient :
Po odstranění kontejneru nemůžete vytvořit kontejner se stejným názvem alespoň po dobu 30 sekund. Pokus o vytvoření kontejneru se stejným názvem selže s kódem 409 (Conflict)
chyby HTTP . Jakékoli jiné operace v kontejneru nebo objektech blob, které obsahuje, selžou s kódem 404 (Not Found)
chyby HTTP .
Následující příklad používá BlobServiceClient
objekt k odstranění zadaného kontejneru:
async function deleteContainer(blobServiceClient, containerName) {
return await blobServiceClient.deleteContainer(containerName);
}
Následující příklad ukazuje, jak odstranit všechny kontejnery, které začínají zadanou předponou:
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}`);
}
}
}
Obnovení odstraněného kontejneru
Pokud je pro účet úložiště povolené obnovitelné odstranění kontejneru, můžete po odstranění obnovit kontejner a jeho obsah během zadané doby uchovávání. Obnovitelně odstraněný kontejner můžete obnovit pomocí objektu BlobServiceClient :
Následující příklad najde odstraněný kontejner, získá ID verze tohoto odstraněného kontejneru a pak toto ID předá metodě undeleteContainer
pro obnovení kontejneru.
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,
);
}
Zdroje informací
Další informace o odstranění kontejneru pomocí klientské knihovny Azure Blob Storage pro JavaScript najdete v následujících zdrojích informací.
Ukázky kódu
- Zobrazení ukázek kódu JavaScriptu a TypeScriptu z tohoto článku (GitHub)
Operace rozhraní REST API
Sada Azure SDK pro JavaScript obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat JavaScriptu. Metody klientské knihovny pro odstranění nebo obnovení kontejneru používají následující operace rozhraní REST API:
- Odstranění kontejneru (REST API)
- Obnovení kontejneru (REST API)
Prostředky klientské knihovny
Viz také
Související obsah
- Tento článek je součástí příručky pro vývojáře služby Blob Storage pro JavaScript nebo Typescript. Další informace najdete v úplném seznamu článků příručky pro vývojáře v tématu Sestavení aplikace JavaScript/Typescript.