Blob-indextags gebruiken om gegevens te beheren en te zoeken met .NET
In dit artikel wordt beschreven hoe u blobindextags gebruikt om gegevens te beheren en te zoeken met behulp van de Azure Storage-clientbibliotheek voor .NET.
Vereisten
- Azure-abonnement: u kunt een gratis abonnement nemen
- Azure Storage-account: maak een opslagaccount
- Nieuwste .NET SDK voor uw besturingssysteem. Zorg ervoor dat u de SDK en niet de runtime ophaalt.
Uw omgeving instellen
Als u geen bestaand project hebt, ziet u in deze sectie hoe u een project instelt voor gebruik met de Azure Blob Storage-clientbibliotheek voor .NET. De stappen omvatten pakketinstallatie, het toevoegen van using
instructies en het maken van een geautoriseerd clientobject. Zie Aan de slag met Azure Blob Storage en .NET voor meer informatie.
Pakketten installeren
Installeer vanuit uw projectmap pakketten voor de Azure Blob Storage- en Azure Identity-clientbibliotheken met behulp van de dotnet add package
opdracht. Het Azure.Identity-pakket is nodig voor verbindingen zonder wachtwoord met Azure-services.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Voeg using
-instructies toe
Voeg deze using
instructies toe aan het begin van het codebestand:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Voor sommige codevoorbeelden in dit artikel zijn mogelijk aanvullende using
instructies vereist.
Een clientobject maken
Als u een app wilt verbinden met Blob Storage, maakt u een exemplaar van BlobServiceClient. In het volgende voorbeeld ziet u hoe u een clientobject maakt met behulp van DefaultAzureCredential
autorisatie:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
U kunt ook een serviceclient registreren voor afhankelijkheidsinjectie in een .NET-app. Zie Clientobjecten maken en beheren die interactie hebben met gegevensbronnen voor meer informatie over het maken en beheren van clientobjecten.
Autorisatie
Het autorisatiemechanisme moet over de benodigde machtigingen beschikken om te kunnen werken met blobindextags. Voor autorisatie met Microsoft Entra-id (aanbevolen) hebt u ingebouwde Azure RBAC-rol opslagblobgegevenseigenaar of hoger nodig. Zie de autorisatierichtlijnen voor Het ophalen van blobtags (REST API), blobtags (REST API) instellen of blobs zoeken op tags (REST API) voor meer informatie.
Over blob-indextags
Blob-indextags categoriseren gegevens in uw opslagaccount met behulp van tagkenmerken met sleutelwaarde. Deze tags worden automatisch geïndexeerd en weergegeven als doorzoekbare multidimensionale index om eenvoudig gegevens te vinden. In dit artikel leest u hoe u gegevens kunt instellen, ophalen en zoeken met behulp van blob-indextags.
Blob-indextags worden niet ondersteund voor opslagaccounts waarvoor hiërarchische naamruimte is ingeschakeld. Zie Azure Blob-gegevens beheren en vinden met blob-indextagtags voor meer informatie over de functie voor de blob-index, samen met bekende problemen en beperkingen.
Tags instellen
U kunt indextags instellen als uw code geautoriseerde toegang heeft tot blobgegevens via een van de volgende mechanismen:
- Beveiligingsprincipaal waaraan een Azure RBAC-rol is toegewezen met de actie Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write . De eigenaar van de opslagblobgegevens is een ingebouwde rol die deze actie omvat.
- Shared Access Signature (SAS) met machtiging voor toegang tot de tags van de blob (
t
machtiging) - Accountsleutel
Zie Blobindextags instellen voor meer informatie.
U kunt tags instellen met een van de volgende methoden:
In het volgende voorbeeld wordt deze taak uitgevoerd.
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);
}
U kunt alle tags verwijderen door een lege [woordenlijst] door te geven aan de methode SetTags of SetTagsAsync , zoals wordt weergegeven in het volgende voorbeeld.
Dictionary<string, string> noTags = new Dictionary<string, string>();
await blobClient.SetTagsAsync(noTags);
Verwante artikelen: |
---|
Azure Blob-gegevens beheren en zoeken met blobindextags |
Blobtags instellen (REST API) |
Tags ophalen
U kunt indextags ophalen als uw code geautoriseerde toegang heeft tot blobgegevens via een van de volgende mechanismen:
- Beveiligingsprincipaal waaraan een Azure RBAC-rol is toegewezen met de actie Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read . De eigenaar van de opslagblobgegevens is een ingebouwde rol die deze actie omvat.
- Shared Access Signature (SAS) met machtiging voor toegang tot de tags van de blob (
t
machtiging) - Accountsleutel
Zie Blob-indextags ophalen en vermelden voor meer informatie.
U kunt tags ophalen met behulp van een van de volgende methoden:
In het volgende voorbeeld wordt deze taak uitgevoerd.
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}");
}
}
Gegevens filteren en zoeken met blobindextags
U kunt indextags gebruiken om gegevens te zoeken en te filteren als uw code geautoriseerde toegang heeft tot blobgegevens via een van de volgende mechanismen:
- Beveiligingsprincipaal waaraan een Azure RBAC-rol is toegewezen met de actie Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action . De eigenaar van de opslagblobgegevens is een ingebouwde rol die deze actie omvat.
- Shared Access Signature (SAS) met machtiging voor het filteren van blobs op tags (
f
machtiging) - Accountsleutel
Zie Gegevens zoeken met behulp van blobindextags voor meer informatie.
Notitie
U kunt geen indextags gebruiken om eerdere versies op te halen. Tags voor eerdere versies worden niet doorgegeven aan de blob-indexengine. Zie Voorwaarden en bekende problemen voor meer informatie.
U kunt gegevens vinden met behulp van een van de volgende methoden:
In het volgende voorbeeld worden alle blobs gevonden die zijn getagd met een datum die tussen een specifiek bereik valt.
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}");
}
}
Resources
Zie de volgende resources voor meer informatie over het gebruik van indextags voor het beheren en vinden van gegevens met behulp van de Azure Blob Storage-clientbibliotheek voor .NET.
REST API-bewerkingen
De Azure SDK voor .NET bevat bibliotheken die zijn gebaseerd op de Azure REST API, zodat u kunt communiceren met REST API-bewerkingen via bekende .NET-paradigma's. De clientbibliotheekmethoden voor het beheren en gebruiken van blobindextags gebruiken de volgende REST API-bewerkingen:
- Blobtags ophalen (REST API)
- Blobtags instellen (REST API)
- Blobs zoeken op tags (REST API)
Clientbibliotheekbronnen
Zie ook
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor