Supprimez et restaurer un conteneur blob avec JavaScript ou TypeScript
Cet article explique comment supprimer des conteneurs à l’aide de la bibliothèque de client de Stockage Azure pour JavaScript. Si vous avez activé la suppression réversible de conteneur, vous pouvez restaurer les conteneurs supprimés.
Prérequis
- Les exemples de cet article supposent que vous disposez déjà d'un projet configuré pour fonctionner avec la bibliothèque client Azure Blob Storage pour JavaScript. Pour en savoir plus sur la configuration de votre projet, y compris l’installation du package, l’importation de modules et la création d’un objet client autorisé à utiliser les ressources de données, consultez Prise en main de Stockage Blob Azure et JavaScript.
- Le mécanisme d’autorisation doit disposer des autorisations nécessaires pour supprimer un conteneur d’objets blob ou restaurer un conteneur supprimé de manière réversible. Pour plus d’informations, consultez les conseils d’autorisation pour les opérations d’API REST suivantes :
Supprimer un conteneur
Pour supprimer un conteneur, utilisez la méthode suivante de la classe BlobServiceClient :
Vous pouvez également supprimer un conteneur en utilisant la méthode suivante de la classe ContainerClient :
Après avoir supprimé un conteneur, vous ne pouvez pas créer un conteneur portant le même nom pendant au moins 30 secondes. Si vous essayez de créer un conteneur du même nom, la tentative échoue avec le code d’erreur HTTP 409 (Conflict)
. Toutes les autres opérations sur le conteneur ou les objets blob qu’il contient échouent avec le code d’erreur HTTP 404 (Not Found)
.
L’exemple suivant utilise un objet BlobServiceClient
pour supprimer le conteneur spécifié :
async function deleteContainer(blobServiceClient, containerName) {
return await blobServiceClient.deleteContainer(containerName);
}
L’exemple suivant montre comment supprimer tous les conteneurs qui commencent par un préfixe spécifié :
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}`);
}
}
}
Restaurer un conteneur supprimé
Lorsque la suppression logicielle du conteneur est activée pour un compte de stockage, un conteneur et son contenu peuvent être récupérés après sa suppression, dans le cadre d'une période de conservation que vous spécifiez. Vous pouvez restaurer un conteneur supprimé de manière réversible à l’aide d’un objet BlobServiceClient :
L'exemple suivant recherche un conteneur supprimé, obtient l'ID de version de ce conteneur supprimé, puis transmet cet ID à la méthode undeleteContainer
pour restaurer le conteneur.
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,
);
}
Ressources
Pour en savoir plus sur la suppression d’un conteneur à l’aide de la bibliothèque de client Stockage Blob Azure pour JavaScript, consultez les ressources suivantes.
Exemples de code
- Affichez des exemples de code JavaScript et TypeScript de cet article (GitHub)
Opérations de l'API REST
Le Kit de développement logiciel (SDK) Azure pour JavaScript contient des bibliothèques qui s'appuient sur l'API REST Azure, vous permettant d’interagir avec les opérations de l’API REST par le biais de paradigmes JavaScript familiers. Les méthodes de bibliothèque de client pour la suppression ou la restauration d’un conteneur utilisent les opérations d’API REST suivantes :
- Delete Container (API REST)
- Restore Container (API REST)
Ressources de bibliothèque cliente
- Documentation de référence sur la bibliothèque cliente
- Code source de la bibliothèque de client
- Package (npm)
Voir aussi
- Suppression réversible des conteneurs
- Activer et gérer la suppression réversible pour les conteneurs
Contenu connexe
- Cet article fait partie du guide du développeur Stockage Blob pour JavaScript/TypeScript. Pour en savoir plus, consultez la liste complète des articles du guide du développeur sur Créer votre application JavaScript/TypeScript.