Usuwanie i przywracanie kontenera obiektów blob za pomocą języka JavaScript lub TypeScript
W tym artykule pokazano, jak usuwać kontenery za pomocą biblioteki klienta usługi Azure Storage dla języka JavaScript. Jeśli włączono usuwanie nietrwałe kontenera, możesz przywrócić usunięte kontenery.
Wymagania wstępne
- W przykładach w tym artykule założono, że masz już skonfigurowany projekt do pracy z biblioteką klienta usługi Azure Blob Storage dla języka JavaScript. Aby dowiedzieć się więcej o konfigurowaniu projektu, w tym instalacji pakietu, importowaniu modułów i tworzeniu autoryzowanego obiektu klienta do pracy z zasobami danych, zobacz Rozpoczynanie pracy z usługami Azure Blob Storage i JavaScript.
- Mechanizm autoryzacji musi mieć uprawnienia do usuwania kontenera obiektów blob lub przywracania kontenera usuniętego nietrwale. Aby dowiedzieć się więcej, zobacz wskazówki dotyczące autoryzacji dla następujących operacji interfejsu API REST:
Usuwanie kontenera
Aby usunąć kontener, użyj następującej metody z klasy BlobServiceClient :
Kontener można również usunąć przy użyciu następującej metody z klasy ContainerClient :
Po usunięciu kontenera nie można utworzyć kontenera o tej samej nazwie przez co najmniej 30 sekund. Próba utworzenia kontenera o tej samej nazwie kończy się niepowodzeniem z kodem 409 (Conflict)
błędu HTTP . Wszelkie inne operacje w kontenerze lub obiektach blob, które zawiera, kończą się niepowodzeniem z kodem 404 (Not Found)
błędu HTTP .
W poniższym przykładzie użyto BlobServiceClient
obiektu do usunięcia określonego kontenera:
async function deleteContainer(blobServiceClient, containerName) {
return await blobServiceClient.deleteContainer(containerName);
}
W poniższym przykładzie pokazano, jak usunąć wszystkie kontenery rozpoczynające się od określonego prefiksu:
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}`);
}
}
}
Przywracanie usuniętego kontenera
Po włączeniu usuwania nietrwałego kontenera dla konta magazynu kontener i jego zawartość można odzyskać po jego usunięciu w określonym okresie przechowywania. Kontener usunięty nietrwale można przywrócić przy użyciu obiektu BlobServiceClient :
Poniższy przykład umożliwia znalezienie usuniętego kontenera, pobranie identyfikatora wersji usuniętego kontenera, a następnie przekazanie tego identyfikatora do undeleteContainer
metody w celu przywrócenia kontenera.
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,
);
}
Zasoby
Aby dowiedzieć się więcej na temat usuwania kontenera przy użyciu biblioteki klienta usługi Azure Blob Storage dla języka JavaScript, zobacz następujące zasoby.
Przykłady kodu
- Wyświetl przykłady kodu JavaScript i TypeScript z tego artykułu (GitHub)
Operacje interfejsu API REST
Zestaw Azure SDK dla języka JavaScript zawiera biblioteki, które bazują na interfejsie API REST platformy Azure, co umożliwia interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów języka JavaScript. Metody biblioteki klienta do usuwania lub przywracania kontenera używają następujących operacji interfejsu API REST:
- Usuwanie kontenera (interfejs API REST)
- Przywracanie kontenera (interfejs API REST)
Zasoby biblioteki klienta
Zobacz też
Powiązana zawartość
- Ten artykuł jest częścią przewodnika dla deweloperów usługi Blob Storage dla języka JavaScript/TypeScript. Aby dowiedzieć się więcej, zobacz pełną listę artykułów z przewodnika dla deweloperów na stronie Tworzenie aplikacji JavaScript/TypeScript.