Répertoriez les conteneurs d’objets BLOB avec .NET
Lorsque vous répertoriez les conteneurs dans un compte de stockage Azure à partir de votre code, vous pouvez spécifier un certain nombre d’options pour gérer la façon dont les résultats sont retournés à partir du stockage Azure. Cet article explique comment répertorier les conteneurs à l’aide de la bibliothèque de client de stockage Azure pour .NET.
Prérequis
- Abonnement Azure : créez-en un gratuitement
- Compte de stockage Azure : créez un compte de stockage
- Dernière version du Kit de développement logiciel (SDK) .NET pour votre système d’exploitation. Veillez à disposer du Kit de développement logiciel (SDK), et non du runtime.
Paramétrer votre environnement
Si vous n’avez pas de projet existant, cette section vous montre comment configurer un projet pour travailler avec la bibliothèque de client Stockage Blob Azure pour .NET. Les étapes comprennent l’installation du package, l’ajout de directives using
et la création d’un objet client autorisé. Pour plus d’informations, consultez Prise en main du Stockage Blob Azure et de .NET.
Installer des packages
À partir du répertoire du projet, installez les packages des bibliothèques de client Stockage Blob Azure et Azure Identity à l’aide de la commande dotnet add package
. Le package Azure.Identity est nécessaire pour les connexions sans mot de passe aux services Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Ajoutez des directives using
.
Ajoutez ces directives using
au début de votre fichier de code :
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Certains exemples de code de cet article peuvent nécessiter des directives using
supplémentaires.
Créer un objet client
Pour connecter une application au Stockage Blob, créez une instance de BlobServiceClient. L’exemple suivant montre comment créer un objet client à l’aide de DefaultAzureCredential
pour l’autorisation :
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Vous pouvez inscrire un client de service pour l’injection de dépendances dans une application .NET.
Vous pouvez également créer des objets clients pour des conteneurs ou des objets blob spécifiques. Pour en savoir plus sur la création et la gestion d’objets clients, consultez Créer et gérer des objets clients qui interagissent avec des ressources de données.
Autorisation
Le mécanisme d’autorisation doit disposer des autorisations nécessaires pour répertorier des conteneurs d’objets blob. Pour l’autorisation avec Microsoft Entra ID (recommandé), vous devez disposer au minimum du rôle RBAC Azure intégré Contributeur aux données Blob du stockage. Pour en savoir plus, consultez les conseils d’autorisation pour Lister des conteneurs (API REST).
À propos des options de la liste de conteneurs
Quand vous listez les conteneurs dans votre code, vous pouvez spécifier des options pour gérer la façon dont les résultats sont retournés par le Stockage Azure. Vous pouvez spécifier le nombre de résultats à retourner dans chaque ensemble de résultats, puis récupérer les ensembles suivants. Vous pouvez également filtrer les résultats par un préfixe et retourner des métadonnées de conteneur avec les résultats. Les étapes de cette procédure sont décrites dans les sections suivantes.
Pour répertorier les conteneurs dans votre compte de stockage, appelez l’une des méthodes suivantes :
Ces méthodes retournent une liste d’objets BlobContainerItem . Les conteneurs sont classés lexicographiquement par nom.
Gérez le nombre de résultats retournés
Par défaut, une opération de liste renvoie jusqu’à 5 000 résultats à la fois, mais vous pouvez spécifier le nombre de résultats que chaque opération de liste doit renvoyer. Les exemples présentés dans cet article vous montrent comment restituer les résultats en pages. Pour en savoir plus sur les concepts de pagination, consultez Pagination avec le kit de développement logiciel (SDK) Azure pour .NET.
Filtrez les résultats avec un préfixe
Pour filtrer la liste des conteneurs, spécifiez une chaîne pour le paramètre prefix
. La chaîne de préfixe peut inclure un ou plusieurs caractères. Le stockage Azure retourne alors uniquement les conteneurs dont les noms commencent par ce préfixe.
Inclure des métadonnées de conteneur
Pour inclure les métadonnées de conteneur avec les résultats, spécifiez la valeur Metadata
de l’énumération BlobContainerTraits. Le Stockage Azure comprend des métadonnées avec chaque conteneur retourné. Vous n’avez donc pas besoin de récupérer les métadonnées de conteneur séparément.
Inclure des conteneurs supprimés
Pour inclure des conteneurs supprimés de manière réversible dans les résultats, spécifiez la valeur Deleted
de l’énumération BlobContainerStates.
Exemple de code : Répertorier les conteneurs
L’exemple suivant répertorie de manière asynchrone les conteneurs dans un compte de stockage qui commencent par un préfixe spécifié. L’exemple répertorie les conteneurs qui commencent par le préfixe spécifié et retourne le nombre de résultats spécifié par appel de l’opération de création liste. Il utilise ensuite le jeton de continuation pour obtenir le segment suivant des résultats. L’exemple retourne également les métadonnées de conteneur avec les résultats.
async static Task ListContainers(BlobServiceClient blobServiceClient,
string prefix,
int? segmentSize)
{
try
{
// Call the listing operation and enumerate the result segment.
var resultSegment =
blobServiceClient.GetBlobContainersAsync(BlobContainerTraits.Metadata, prefix, default)
.AsPages(default, segmentSize);
await foreach (Azure.Page<BlobContainerItem> containerPage in resultSegment)
{
foreach (BlobContainerItem containerItem in containerPage.Values)
{
Console.WriteLine("Container name: {0}", containerItem.Name);
}
Console.WriteLine();
}
}
catch (RequestFailedException e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
throw;
}
}
Ressources
Pour en savoir plus sur la création de listes de conteneurs à l’aide de la bibliothèque de client Stockage Blob Azure pour .NET, consultez les ressources suivantes.
Opérations de l'API REST
Le Kit de développement logiciel (SDK) Azure pour .NET contient des bibliothèques qui s’appuient sur l’API REST Azure et vous permettant d’interagir avec des opérations de l’API REST par le biais de paradigmes .NET familiers. Les méthodes de bibliothèque de client pour le listing de conteneurs utilisent l’opération d’API REST suivante :
- List Containers (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 (NuGet)
Voir aussi
Contenu connexe
- Cet article fait partie du guide du développeur Stockage Blob pour .NET. Pour en savoir plus, consultez la liste complète des articles du guide du développeur dans Générer votre application .NET.