Démarrage rapide : Bibliothèque cliente Stockage Blob Azure v12 pour .NETQuickstart: Azure Blob storage client library v12 for .NET
Bien démarrer avec la bibliothèque de client Stockage Blob Azure v12 pour .NET.Get started with the Azure Blob storage client library v12 for .NET. Le stockage Blob Azure est la solution de stockage d’objet de Microsoft pour le cloud.Azure Blob storage is Microsoft's object storage solution for the cloud. Suivez les étapes pour installer le package et essayer l’exemple de code pour les tâches de base.Follow steps to install the package and try out example code for basic tasks. Le stockage Blob est optimisé pour stocker de grandes quantités de données non structurées.Blob storage is optimized for storing massive amounts of unstructured data.
Notes
Pour commencer à utiliser la version précédente du kit de développement logiciel (SDK), consultez Démarrage rapide : Bibliothèque cliente Stockage Blob Azure pour .NET.To get started with the previous SDK version, see Quickstart: Azure Blob storage client library for .NET.
Utilisez la bibliothèque cliente Stockage Blob Azure v12 pour .NET afin de :Use the Azure Blob storage client library v12 for .NET to:
- Créez un conteneur.Create a container
- Charger un blob dans le stockage AzureUpload a blob to Azure Storage
- Lister tous les objets blob d’un conteneurList all of the blobs in a container
- Télécharger l’objet blob sur votre ordinateur localDownload the blob to your local computer
- Supprimer un conteneurDelete a container
Documentation de référence sur l’API | Code source de la bibliothèque | Package (NuGet) | ExemplesAPI reference documentation | Library source code | Package (NuGet) | Samples
Notes
Les fonctionnalités décrites dans cet article sont désormais disponibles pour les comptes dotés d'un espace de noms hiérarchique.The features described in this article are now available to accounts that have a hierarchical namespace. Pour en savoir plus sur les limitations, consultez l'article Problèmes connus avec Azure Data Lake Storage Gen2.To review limitations, see the Known issues with Azure Data Lake Storage Gen2 article.
PrérequisPrerequisites
- Abonnement Azure : créez-en un gratuitementAzure subscription - create one for free
- Compte de stockage Azure : créez un compte de stockageAzure storage account - create a storage account
- Dernière version du Kit SDK .NET Core pour votre système d’exploitation.Current .NET Core SDK for your operating system. Veillez à disposer du Kit de développement logiciel (SDK), et non du runtime.Be sure to get the SDK and not the runtime.
ConfigurationSetting up
Cette section vous guide tout au long de la préparation d’un projet à utiliser avec la bibliothèque cliente Stockage Blob Azure v12 pour .NET.This section walks you through preparing a project to work with the Azure Blob storage client library v12 for .NET.
Créer le projetCreate the project
Créez une application .NET Core nommée BlobQuickstartV12.Create a .NET Core application named BlobQuickstartV12.
Dans une fenêtre de console (par exemple cmd, PowerShell ou Bash), utilisez la commande
dotnet new
pour créer une application de console avec le nom BlobQuickstartV12.In a console window (such as cmd, PowerShell, or Bash), use thedotnet new
command to create a new console app with the name BlobQuickstartV12. Cette commande crée un projet C# « Hello World » simple avec un seul fichier source : Program.cs.This command creates a simple "Hello World" C# project with a single source file: Program.cs.dotnet new console -n BlobQuickstartV12
Basculez vers le répertoire BlobQuickstartV12 nouvellement créé.Switch to the newly created BlobQuickstartV12 directory.
cd BlobQuickstartV12
Dans le répertoire BlobQuickstartV12, créez un autre répertoire appelé data.In side the BlobQuickstartV12 directory, create another directory called data. C’est là que les fichiers de données d’objets Blob sont créés et stockés.This is where the blob data files will be created and stored.
mkdir data
Installer le packageInstall the package
Alors que vous êtes toujours dans le répertoire de l’application, installez le package de la bibliothèque cliente Stockage Blob Azure pour .NET à l’aide de la commande dotnet add package
.While still in the application directory, install the Azure Blob storage client library for .NET package by using the dotnet add package
command.
dotnet add package Azure.Storage.Blobs
Configurer le framework d’applicationSet up the app framework
À partir du répertoire de projet :From the project directory:
- Ouvrez le fichier Program.cs dans votre éditeur.Open the Program.cs file in your editor
- Supprimez l'instruction
Console.WriteLine("Hello World!");
.Remove theConsole.WriteLine("Hello World!");
statement - Ajoutez des directives
using
.Addusing
directives - Mettez à jour la déclaration de méthode
Main
pour prendre en charge le code asynchroneUpdate theMain
method declaration to support async code
Voici le code :Here's the code:
using Azure.Storage;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System;
using System.IO;
using System.Threading.Tasks;
namespace BlobQuickstartV12
{
class Program
{
static async Task Main()
{
}
}
}
Copier vos informations d’identification depuis le portail AzureCopy your credentials from the Azure portal
Lorsque l’exemple d’application effectue une requête auprès du stockage Azure, il doit être autorisé.When the sample application makes a request to Azure Storage, it must be authorized. Pour autoriser une demande, ajoutez les informations d’identification de votre compte de stockage à l’application sous la forme d’une chaîne de connexion.To authorize a request, add your storage account credentials to the application as a connection string. Affichez les informations d'identification de votre compte de stockage en suivant ces étapes :View your storage account credentials by following these steps:
Connectez-vous au Portail Azure.Sign in to the Azure portal.
Recherchez votre compte de stockage.Locate your storage account.
Dans la section Paramètres de la présentation du compte de stockage, sélectionnez Clés d’accès.In the Settings section of the storage account overview, select Access keys. Vos clés d’accès au compte s’affichent, ainsi que la chaîne de connexion complète de chaque clé.Here, you can view your account access keys and the complete connection string for each key.
Recherchez la valeur de Chaîne de connexion sous clé1, puis sélectionnez le bouton Copier pour copier la chaîne de connexion.Find the Connection string value under key1, and select the Copy button to copy the connection string. Vous allez ajouter la valeur de chaîne de connexion dans une variable d’environnement à l’étape suivante.You will add the connection string value to an environment variable in the next step.
Configurer votre chaîne de connexion de stockageConfigure your storage connection string
Après avoir copié votre chaîne de connexion, écrivez-la dans une variable d’environnement sur l’ordinateur local exécutant l’application.After you have copied your connection string, write it to a new environment variable on the local machine running the application. Pour définir la variable d’environnement, ouvrez une fenêtre de console et suivez les instructions pour votre système d’exploitation.To set the environment variable, open a console window, and follow the instructions for your operating system. Remplacez <yourconnectionstring>
par votre chaîne de connexion.Replace <yourconnectionstring>
with your actual connection string.
WindowsWindows
setx CONNECT_STR "<yourconnectionstring>"
Après avoir ajouté la variable d’environnement dans Windows, vous devez démarrer une nouvelle instance de la fenêtre de commande.After you add the environment variable in Windows, you must start a new instance of the command window.
LinuxLinux
export CONNECT_STR="<yourconnectionstring>"
macOSmacOS
export CONNECT_STR="<yourconnectionstring>"
Redémarrer des programmesRestart programs
Après avoir ajouté la variable d’environnement, redémarrez tous les programmes en cours d’exécution qui devront la lire.After you add the environment variable, restart any running programs that will need to read the environment variable. Par exemple, redémarrez votre environnement de développement ou éditeur avant de continuer.For example, restart your development environment or editor before continuing.
Modèle objetObject model
Le Stockage Blob Azure est optimisé pour stocker de grandes quantités de données non structurées.Azure Blob storage is optimized for storing massive amounts of unstructured data. Les données non structurées sont des données qui n’obéissent pas à un modèle ou une définition de données en particulier, comme des données texte ou binaires.Unstructured data is data that does not adhere to a particular data model or definition, such as text or binary data. Le stockage Blob offre trois types de ressources :Blob storage offers three types of resources:
- Le compte de stockageThe storage account
- Un conteneur dans le compte de stockage.A container in the storage account
- Un blob dans le conteneurA blob in the container
Le diagramme suivant montre la relation entre ces ressources.The following diagram shows the relationship between these resources.
Utilisez les classes .NET suivantes pour interagir avec ces ressources :Use the following .NET classes to interact with these resources:
- BlobServiceClient : La classe
BlobServiceClient
vous permet de manipuler les ressources de stockage Azure et les conteneurs d’objets Blob.BlobServiceClient: TheBlobServiceClient
class allows you to manipulate Azure Storage resources and blob containers. - BlobContainerClient : La classe
BlobContainerClient
vous permet de manipuler des conteneurs Stockage Azure et leurs objets blob.BlobContainerClient: TheBlobContainerClient
class allows you to manipulate Azure Storage containers and their blobs. - BlobClient : La classe
BlobClient
vous permet de manipuler des objets Blob de stockage Azure.BlobClient: TheBlobClient
class allows you to manipulate Azure Storage blobs. - BlobDownloadInfo : La classe
BlobDownloadInfo
représente les propriétés et le contenu renvoyés par le téléchargement d’un objet Blob.BlobDownloadInfo: TheBlobDownloadInfo
class represents the properties and content returned from downloading a blob.
Exemples de codeCode examples
Ces exemples d’extraits de code vous montrent comment effectuer les opérations suivantes avec la bibliothèque cliente Stockage Blob Azure pour .NET :These example code snippets show you how to perform the following with the Azure Blob storage client library for .NET:
- Obtenir la chaîne de connexionGet the connection string
- Créer un conteneurCreate a container
- Charger des objets blob sur un conteneurUpload blobs to a container
- Lister les objets blob d’un conteneurList the blobs in a container
- Télécharger des objets blobDownload blobs
- Supprimer un conteneurDelete a container
Obtenir la chaîne de connexionGet the connection string
Le code ci-dessous récupère la chaîne de connexion pour le compte de stockage à partir de la variable d’environnement créée dans la section Configurer votre chaîne de connexion de stockage.The code below retrieves the connection string for the storage account from the environment variable created in the Configure your storage connection string section.
Ajoutez ce code dans la méthode Main
:Add this code inside the Main
method:
Console.WriteLine("Azure Blob storage v12 - .NET quickstart sample\n");
// Retrieve the connection string for use with the application. The storage
// connection string is stored in an environment variable on the machine
// running the application called CONNECT_STR. If the
// environment variable is created after the application is launched in a
// console or with Visual Studio, the shell or application needs to be closed
// and reloaded to take the environment variable into account.
string connectionString = Environment.GetEnvironmentVariable("CONNECT_STR");
Créez un conteneur.Create a container
Choisissez un nom pour le nouveau conteneur.Decide on a name for the new container. Le code ci-dessous ajoute une valeur GUID au nom du conteneur pour s’assurer qu’il est unique.The code below appends a GUID value to the container name to ensure that it is unique.
Important
Les noms de conteneurs doivent être en minuscules.Container names must be lowercase. Pour plus d’informations sur l’affectation de noms aux conteneurs et objets blob, consultez Affectation de noms et références aux conteneurs, objets blob et métadonnées.For more information about naming containers and blobs, see Naming and Referencing Containers, Blobs, and Metadata.
Création d’une instance de la classe BlobServiceClient.Create an instance of the BlobServiceClient class. Ensuite, appelez la méthode CreateBlobContainerAsync pour créer le conteneur dans votre compte de stockage.Then, call the CreateBlobContainerAsync method to create the container in your storage account.
Ajoutez ce code à la fin de la méthode Main
:Add this code to the end of the Main
method:
// Create a BlobServiceClient object which will be used to create a container client
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
//Create a unique name for the container
string containerName = "quickstartblobs" + Guid.NewGuid().ToString();
// Create the container and return a container client object
BlobContainerClient containerClient = await blobServiceClient.CreateBlobContainerAsync(containerName);
Charger des objets blob sur un conteneurUpload blobs to a container
L’extrait de code suivant :The following code snippet:
- Crée un fichier texte dans le répertoire local data.Creates a text file in the local data directory.
- Obtient une référence à un objet BlobClient en appelant la méthode GetBlobClient sur le conteneur à partir de la section Créer un conteneur.Gets a reference to a BlobClient object by calling the GetBlobClient method on the container from the Create a container section.
- Charge le fichier texte local dans l’objet Blob en appelant la méthode UploadAsync.Uploads the local text file to the blob by calling the UploadAsync method. Cette méthode crée l’objet blob s’il n’existe pas déjà, et le remplace s’il existe.This method creates the blob if it doesn't already exist, and overwrites it if it does.
Ajoutez ce code à la fin de la méthode Main
:Add this code to the end of the Main
method:
// Create a local file in the ./data/ directory for uploading and downloading
string localPath = "./data/";
string fileName = "quickstart" + Guid.NewGuid().ToString() + ".txt";
string localFilePath = Path.Combine(localPath, fileName);
// Write text to the file
await File.WriteAllTextAsync(localFilePath, "Hello, World!");
// Get a reference to a blob
BlobClient blobClient = containerClient.GetBlobClient(fileName);
Console.WriteLine("Uploading to Blob storage as blob:\n\t {0}\n", blobClient.Uri);
// Open the file and upload its data
using FileStream uploadFileStream = File.OpenRead(localFilePath);
await blobClient.UploadAsync(uploadFileStream);
uploadFileStream.Close();
Créer la liste des objets blob d’un conteneurList the blobs in a container
Répertoriez les objets Blob dans le conteneur en appelant la méthode GetBlobsAsync.List the blobs in the container by calling the GetBlobsAsync method. Dans ce cas, un seul objet blob a été ajouté au conteneur. Il n’y a donc qu’un objet blob répertorié.In this case, only one blob has been added to the container, so the listing operation returns just that one blob.
Ajoutez ce code à la fin de la méthode Main
:Add this code to the end of the Main
method:
Console.WriteLine("Listing blobs...");
// List all blobs in the container
await foreach (BlobItem blobItem in containerClient.GetBlobsAsync())
{
Console.WriteLine("\t" + blobItem.Name);
}
Télécharger des objets blobDownload blobs
Téléchargez l’objet Blob créé précédemment en appelant la méthode DownloadAsync.Download the previously created blob by calling the DownloadAsync method. L’exemple de code ajoute le suffixe « DOWNLOADED » au nom de fichier afin que vous puissiez voir les deux fichiers dans votre système de fichiers local.The example code adds a suffix of "DOWNLOADED" to the file name so that you can see both files in local file system.
Ajoutez ce code à la fin de la méthode Main
:Add this code to the end of the Main
method:
// Download the blob to a local file
// Append the string "DOWNLOAD" before the .txt extension so you can see both files in MyDocuments
string downloadFilePath = localFilePath.Replace(".txt", "DOWNLOAD.txt");
Console.WriteLine("\nDownloading blob to\n\t{0}\n", downloadFilePath);
// Download the blob's contents and save it to a file
BlobDownloadInfo download = await blobClient.DownloadAsync();
using FileStream downloadFileStream = File.OpenWrite(downloadFilePath);
await download.Content.CopyToAsync(downloadFileStream);
downloadFileStream.Close();
Supprimer un conteneurDelete a container
Le code suivant nettoie les ressources créées par l’application en supprimant l’ensemble du conteneur avec DeleteAsync.The following code cleans up the resources the app created by deleting the entire container by using DeleteAsync. Il supprime également les fichiers locaux créés par l’application.It also deletes the local files created by the app.
L’application s’interrompt pour une entrée de l’utilisateur en appelant Console.ReadLine
avant de supprimer l’objet blob, le conteneur et les fichiers locaux.The app pauses for user input by calling Console.ReadLine
before it deletes the blob, container, and local files. C’est l’occasion de vérifier que les ressources ont bien été créées avant d’être supprimées.This is a good chance to verify that the resources were actually created correctly, before they are deleted.
Ajoutez ce code à la fin de la méthode Main
:Add this code to the end of the Main
method:
// Clean up
Console.Write("Press any key to begin clean up");
Console.ReadLine();
Console.WriteLine("Deleting blob container...");
await containerClient.DeleteAsync();
Console.WriteLine("Deleting the local source and downloaded files...");
File.Delete(localFilePath);
File.Delete(downloadFilePath);
Console.WriteLine("Done");
Exécuter le codeRun the code
Cette application crée un fichier de test dans votre dossier local MyDocuments et le charge sur le Stockage Blob.This app creates a test file in your local MyDocuments folder and uploads it to Blob storage. L’exemple liste ensuite les objets blob du conteneur et télécharge le fichier avec un nouveau nom pour que vous puissiez comparer les deux fichiers.The example then lists the blobs in the container and downloads the file with a new name so that you can compare the old and new files.
Accédez au répertoire de l’application, puis générez et exécutez l’application.Navigate to your application directory, then build and run the application.
dotnet build
dotnet run
Le résultat de l’application ressemble à l’exemple suivant :The output of the app is similar to the following example:
Azure Blob storage v12 - .NET quickstart sample
Uploading to Blob storage as blob:
https://mystorageacct.blob.core.windows.net/quickstartblobs60c70d78-8d93-43ae-954d-8322058cfd64/quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31.txt
Listing blobs...
quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31.txt
Downloading blob to
./data/quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31DOWNLOADED.txt
Press any key to begin clean up
Deleting blob container...
Deleting the local source and downloaded files...
Done
Avant de commencer le processus de nettoyage, vérifiez les deux fichiers dans votre dossier MyDocuments.Before you begin the clean up process, check your MyDocuments folder for the two files. Vous pouvez les ouvrir et constater qu’ils sont identiques.You can open them and observe that they are identical.
Une fois les fichiers vérifiés, appuyez sur Entrée pour supprimer les fichiers de test et terminer la démonstration.After you've verified the files, press the Enter key to delete the test files and finish the demo.
Étapes suivantesNext steps
Dans ce démarrage rapide, vous avez appris à charger, télécharger et répertorier des objets blob avec .NET.In this quickstart, you learned how to upload, download, and list blobs using .NET.
Pour voir des exemples d’applications de stockage d’objets Blob, passez à :To see Blob storage sample apps, continue to:
- Pour obtenir des didacticiels, des exemples, des démarrages rapides et d’autres documents, visitez Azure pour les développeurs .NET et .NET Core.For tutorials, samples, quick starts and other documentation, visit Azure for .NET and .NET Core developers.
- Pour en savoir plus sur .NET Core, consultez Prise en main de .NET en 10 minutes.To learn more about .NET Core, see Get started with .NET in 10 minutes.
Commentaires
Chargement du commentaire...