Partager via


Supprimer et restaurer un conteneur d’objets blob avec Java

Cet article explique comment supprimer des conteneurs avec la bibliothèque de client du Stockage Azure pour Java. Si vous avez activé la suppression réversible de conteneur, vous pouvez restaurer les conteneurs supprimés.

Prérequis

  • Cet article suppose que vous disposez déjà d'un projet configuré pour fonctionner avec la bibliothèque client Stockage Blob Azure pour Java. Pour en savoir plus sur la configuration de votre projet, y compris l'installation du package import, l'ajout de directives et la création d'un objet client autorisé, consultez Premiers pas avec Azure Storage et Java.
  • Le mécanisme d'autorisation doit disposer des autorisations nécessaires pour supprimer un conteneur d'objets blob ou pour 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 dans Java, utilisez l’une des méthodes suivantes de la classe BlobServiceClient :

Vous pouvez également supprimer un conteneur avec l’une des méthodes suivantes de la classe BlobContainerClient :

Après avoir supprimé un conteneur, vous ne pouvez pas créer de conteneur avec 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 blobs 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é :

public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
    // Delete the container using the service client
    blobServiceClient.deleteBlobContainer(containerName);
}

L’exemple suivant montre comment supprimer tous les conteneurs qui commencent par un préfixe spécifié :

public void deleteContainersWithPrefix(BlobServiceClient blobServiceClient) {
    ListBlobContainersOptions options = new ListBlobContainersOptions()
            .setPrefix("container-");

    // Delete the container with the specified prefix using the service client
    for (BlobContainerItem containerItem : blobServiceClient.listBlobContainers(options, null)) {
        BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerItem.getName());
        containerClient.delete();
    }
}

Restaurer un conteneur supprimé

Quand la suppression réversible de conteneur est activée pour un compte de stockage, un conteneur supprimé et son contenu peuvent être récupérés pendant la période de conservation spécifiée. Pour en savoir plus sur la suppression réversible de conteneur, consultez Activer et gérer la suppression réversible pour les conteneurs. Vous pouvez restaurer un conteneur supprimé de manière réversible en appelant la méthode suivante de la classe BlobServiceClient :

L’exemple suivant recherche un conteneur supprimé, obtient la version de ce conteneur supprimé, puis passe la version dans la méthode undeleteBlobContainer pour restaurer le conteneur.

public void restoreContainer(BlobServiceClient blobServiceClient) {
    ListBlobContainersOptions options = new ListBlobContainersOptions();
    options.getDetails().setRetrieveDeleted(true);

    // Delete the container with the specified prefix using the service client
    for (BlobContainerItem deletedContainerItem : blobServiceClient.listBlobContainers(options, null)) {
        BlobContainerClient containerClient = blobServiceClient
                .undeleteBlobContainer(deletedContainerItem.getName(), deletedContainerItem.getVersion());
    }
}

Ressources

Pour en savoir plus sur la suppression d’un conteneur à l’aide de la bibliothèque de client Stockage Blob Azure pour Java, consultez les ressources suivantes.

Opérations de l'API REST

Le Kit de développement logiciel (SDK) Azure pour Java 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 Java 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 :

Exemples de code

Ressources de bibliothèque cliente

Voir aussi