Utiliser des balises d’index d’objet blob pour gérer et trouver des données avec .NET
Cet article explique comment utiliser des balises d’index d’objet blob pour gérer et rechercher des données en utilisant la Bibliothèque de client 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 utiliser des balises d’index d’objet blob. Pour l’autorisation avec Microsoft Entra ID (recommandé), vous devez disposer au minimum du rôle RBAC Azure intégré Propriétaire des données Blob du stockage. Pour plus d’informations, consultez les instructions d’autorisation pour Obtenir les étiquettes d’objet blob (API REST), Définir des balises d’objet blob (API REST) ou Rechercher des objets blob par étiquettes (API REST).
À propos des balises d'index blob
Les balises d’index de blob catégorisent les données de votre compte de stockage à l’aide d’attributs de balise clé-valeur. Ces balises sont automatiquement indexées et exposées en tant qu’index multidimensionnel pouvant faire l’objet d’une recherche pour trouver facilement des données. Cet article explique comment définir, obtenir et trouver des données à l’aide de balises d’index d’objets blob.
Les balises d’index blob ne sont pas prises en charge pour les comptes de stockage dont l’espace de noms hiérarchique est activé. Pour en savoir plus sur la fonctionnalité des balises d’index blob, ainsi que sur les problèmes connus et les limitations, consultez Gérer et rechercher des données blob Azure dans l’index d’objet blob.
Définir des étiquettes
Vous pouvez définir des balises d’index si votre code a autorisé l’accès aux données Blob par l’un des mécanismes suivants :
- Principal de sécurité auquel est attribué un rôle RBAC Azure avec l’action Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write. Le Propriétaire des données Blob du stockage est un rôle intégré qui inclut cette action.
- Signature d’accès partagé (SAP) avec autorisation d’accéder aux balises du blob (autorisation
t
) - Clé de compte
Pour plus d’informations, consultez Définition des balises d’index d’objet blob.
Vous pouvez définir des balises en utilisant l'une des méthodes suivantes :
Cet exemple effectue cette tâche.
public static async Task SetTags(BlobClient blobClient)
{
Dictionary<string, string> tags =
new Dictionary<string, string>
{
{ "Sealed", "false" },
{ "Content", "image" },
{ "Date", "2020-04-20" }
};
await blobClient.SetTagsAsync(tags);
}
Vous pouvez supprimer toutes les balises en passant un [Dictionary] vide dans la méthode SetTags ou SetTagsAsync, comme indiqué dans l’exemple suivant.
Dictionary<string, string> noTags = new Dictionary<string, string>();
await blobClient.SetTagsAsync(noTags);
Articles connexes |
---|
Gérer et rechercher des données blob Azure dans l’index d’objet blob |
Set Blob Tags (API REST) |
Obtenir des balises
Vous pouvez obtenir des balises d’index si votre code a autorisé l’accès aux données Blob par l’un des mécanismes suivants :
- Principal de sécurité auquel est attribué un rôle RBAC Azure avec l’action Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write. Le Propriétaire des données Blob du stockage est un rôle intégré qui inclut cette action.
- Signature d’accès partagé (SAP) avec autorisation d’accéder aux balises du blob (autorisation
t
) - Clé de compte
Pour plus d’informations, consultez Obtention et liste des balises d’index de blob.
Vous pouvez obtenir des balises en utilisant l’une des méthodes suivantes :
Cet exemple effectue cette tâche.
public static async Task GetTags(BlobClient blobClient)
{
Response<GetBlobTagResult> tagsResponse = await blobClient.GetTagsAsync();
foreach (KeyValuePair<string, string> tag in tagsResponse.Value.Tags)
{
Console.WriteLine($"{tag.Key}={tag.Value}");
}
}
Filtrer et rechercher des données avec des balises d’index de blobs
Vous pouvez utiliser des balises d’index pour rechercher et filtrer des données si votre code a autorisé l’accès aux données blob par l’un des mécanismes suivants :
- Principal de sécurité auquel est attribué un rôle RBAC Azure avec l’action Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write. Le Propriétaire des données Blob du stockage est un rôle intégré qui inclut cette action.
- Signature d’accès partagé (SAP) avec autorisation de filtrer des blobs en fonction des balises (autorisation
f
) - Clé de compte
Pour plus d’informations, consultez Recherche de données en utilisant les balises d’index de blob.
Notes
Vous ne pouvez pas utiliser de balises d’index pour récupérer des versions précédentes. Les balises pour les versions précédentes ne sont pas passées au moteur d’index de blob. Pour plus d’informations, consultez Conditions et problèmes connus.
Vous pouvez rechercher des données en utilisant l’une des méthodes suivantes :
L’exemple suivant recherche tous les blobs marqués avec une date appartenant à une plage spécifique.
public static async Task FindBlobsbyTags(BlobServiceClient serviceClient)
{
string query = @"""Date"" >= '2020-04-20' AND ""Date"" <= '2020-04-30'";
// Find Blobs given a tags query
Console.WriteLine("Find Blob by Tags query: " + query + Environment.NewLine);
List<TaggedBlobItem> blobs = new List<TaggedBlobItem>();
await foreach (TaggedBlobItem taggedBlobItem in serviceClient.FindBlobsByTagsAsync(query))
{
blobs.Add(taggedBlobItem);
}
foreach (var filteredBlob in blobs)
{
Console.WriteLine($"BlobIndex result: ContainerName= {filteredBlob.BlobContainerName}, " +
$"BlobName= {filteredBlob.BlobName}");
}
}
Ressources
Pour en savoir plus sur l’utilisation des balises d’index afin de gérer et rechercher des données à 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 la gestion et l’utilisation des balises d’index blob utilisent les opérations d’API REST suivantes :
- Get Blob Tags (API REST)
- Set Blob Tags (API REST)
- Find Blobs by Tags (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
- Gérer et rechercher des données blob Azure dans l’index d’objet blob
- Utiliser des balises d’index de blob pour gérer et rechercher des données sur Stockage Blob Azure
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.