L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utiliser l’émulateur azurite pour le développement de stockage Azure local
Article
26/01/2024
L’émulateur open source Azurite fournit un environnement local gratuit qui vous permet de tester les applications du Stockage Blob, du Stockage File d’attente et du Stockage Table. Une fois que vous êtes satisfait de la manière dont votre application fonctionne localement, passez à l’utilisation d’un compte de stockage Azure dans le cloud. L’émulateur offre une prise en charge multiplateforme, qui inclut Windows, Linux et macOS.
Azurite remplace l’émulateur de stockage Azure et continue d’être mis à jour pour prendre en charge les dernières versions des API stockage Azure.
Cette vidéo vous montre comment installer et exécuter l’émulateur Azurite.
Les étapes de la vidéo sont également décrites dans les sections suivantes. Sélectionnez l’un de ces onglets.
Azurite est automatiquement disponible avec Visual Studio 2022. L’exécutable Azurite est mis à jour dans le cadre des nouvelles versions de Visual Studio. Si vous exécutez une version antérieure de Visual Studio, vous pouvez installer Azurite à l’aide de Node Package Manager (npm) ou DockerHub, ou en clonant le dépôt GitHub Azurite.
Dans Visual Studio Code, sélectionnez l’icône Extensions et recherchez Azurite. Sélectionnez le bouton Installer pour installer l’extension Azurite.
Vous pouvez également accéder au marché des extensions pour Visual Studio Code dans votre navigateur. Sélectionnez le bouton Installer pour ouvrir Visual Studio Code et accéder directement à la page de l’extension Azurite.
Configurer les paramètres de l’extension Azurite
Pour configurer les paramètres Azurite dans Visual Studio Code, sélectionnez l’icône Extensions. Sélectionnez le bouton d’engrenage Gérer pour l’entrée Azurite. Sélectionnez Extension Settings (Paramètres d’extension)
Les paramètres suivants sont pris en charge :
azurite.blobHost : point de terminaison d’écoute du service BLOB. Le paramètre par défaut est 127.0.0.1.
azurite.blobPort : port d’écoute du service BLOB. Le port par défaut est 10000.
azurite.queueHost : point de terminaison d’écoute du service de File d’attente. Le paramètre par défaut est 127.0.0.1.
azurite.queuePort : port d’écoute du service de File d’attente. Le port par défaut est 10001.
azurite.tableHost : point de terminaison d’écoute du service Table, défini par défaut sur 127.0.0.1.
azurite.tablePort : port d’écoute du service Table, défini par défaut sur 10002.
azurite.cert : chemin d’un fichier de certificat PEM ou PFX approuvé localement pour activer le mode HTTPS.
azurite.debug : sortie du journal de débogage sur le canal Azurite. La valeur par défaut est false (Faux).
azurite.key : chemin vers un fichier de clé PEM approuvé localement, obligatoire quand Azurite: Cert pointe vers un fichier PEM.
azurite.location : chemin de l’emplacement de l’espace de travail. Par défaut, il s’agit du dossier de travail de Visual Studio Code.
azurite.loose : active le mode libre, qui ignore les en-têtes et les paramètres non pris en charge.
azurite.oauth : niveau OAuth facultatif.
azurite.pwd : mot de passe du fichier PFX. Obligatoire lorsque Azurite: Cert pointe vers un fichier PFX.
azurite.silent : active le mode silencieux, qui désactive le journal des accès. La valeur par défaut est false.
azurite.skipApiVersionCheck : ignore la vérification de la version de l’API de demande. La valeur par défaut est false.
azurite.disableProductStyleUrl : force l’analyse du nom du compte de stockage à partir du chemin de l’URI de requête, au lieu de l’hôte d’URI de requête.
Cette méthode d’installation nécessite l’installation préalable de Node.js version 8.0 ou ultérieure. Node Package Manager (npm) est l’outil de gestion des packages inclus dans chaque installation Node.js. Après avoir installé Node.js, exécutez la commande npm suivante pour installer Azurite.
Cette méthode d’installation nécessite l’installation préalable de Git et de Node.js version 8.0 ou ultérieure. Clonez le dépôt GitHub du projet Azurite à l’aide de la commande de console suivante.
git clone https://github.com/Azure/Azurite.git
Après avoir cloné le code source, exécutez les commandes suivantes à partir de la racine du dépôt cloné pour générer et installer Azurite.
Pour utiliser Azurite avec la plupart des types de projets dans Visual Studio, vous devez d’abord exécuter le fichier exécutable Azurite. Une fois le fichier exécutable en cours d’exécution, Azurite écoute les requêtes de connexion de l’application. Pour plus d’informations, consultez Exécution d’Azurite à partir de la ligne de commande.
Pour les projets Azure Functions et les projets ASP.NET, vous pouvez choisir de configurer le projet pour qu’il démarre automatiquement Azurite. Ceci se fait pendant la configuration du projet. Alors que cette configuration de projet démarre Azurite automatiquement, Visual Studio n’expose pas d’options de configuration Azurite détaillées. Pour personnaliser les options de configuration Azurite détaillées, exécutez l’exécutable Azurite avant de lancer Visual Studio.
Pour en savoir plus sur la configuration des projets Azure Functions et des projets ASP.NET pour démarrer automatiquement Azurite, lisez les conseils suivants :
Accédez à l’emplacement approprié et démarrez azurite.exe. Une fois le fichier exécutable exécuté, Azurite écoute les connexions.
Pour en savoir plus sur les options de ligne de commande disponibles pour configurer Azurite, consultez Options de ligne de commande.
Exécution d’Azurite à partir d’un projet Azure Functions
Dans Visual Studio 2022, créez un projet Azure Functions. Lors de la définition des options du projet, cochez la case Utiliser Azurite pour le compte de stockage du runtime.
Une fois le projet créé, Azurite démarre automatiquement. L’emplacement de l’exécutable Azurite est détaillé dans la table de l’emplacement du fichier exécutable Azurite. Le résultat ressemble à la capture d’écran suivante :
Cette option de configuration peut être modifiée ultérieurement en changeant les dépendances des Services connectés du projet.
Exécution d’Azurite à partir d’un projet ASP.NET
Dans Visual Studio 2022, créez un projet ASP.NET Core Web App. Ouvrez ensuite la boîte de dialogue Services connectés, sélectionnez Ajouter une dépendance de service, puis Émulateur Azurite de stockage.
Dans la boîte de dialogue Configurer l’émulateur Azurite de stockage, définissez le champ Nom de chaîne de connexion sur StorageConnectionString, puis sélectionnez Terminer.
Une fois la configuration terminée, sélectionnez Fermer et l’émulateur Azurite démarre automatiquement. L’emplacement de l’exécutable Azurite est détaillé dans la table de l’emplacement du fichier exécutable Azurite. Le résultat ressemble à la capture d’écran suivante :
Cette option de configuration peut être modifiée ultérieurement en changeant les dépendances des Services connectés du projet.
Notes
Vous ne pouvez pas exécuter Azurite à partir de la ligne de commande si vous avez installé uniquement l’extension Visual Studio Code. Utilisez plutôt la palette de commandes de Visual Studio Code pour exécuter des commandes. Les paramètres de configuration sont détaillés dans Configurer les paramètres de l’extension Azurite.
L’extension Azurite prend en charge les commandes Visual Studio Code suivantes. Pour ouvrir la palette de commandes, appuyez sur F1 dans Visual Studio Code.
Azurite : Nettoyer - Réinitialiser toutes les données de persistance des services Azurite
Azurite : Nettoyer le service blob - Nettoyer le service blob
Azurite : Nettoyer le service de file d'attente - Nettoyer le service de file d'attente
Azurite : Nettoyer le service Table - Nettoyer le service Table
Azurite : Fermer - Fermer tous les services Azurite
Azurite : Fermer le service blob - Fermer le service BLOB
Azurite : Fermer le service de file d’attente - Fermer le service de file d’attente
Azurite : Fermer le service Table - Fermer le service Table
Azurite : Démarrer - Démarrer tous les services Azurite
Azurite : Démarrer le service Blob - Démarrer le service Blob
Azurite : Démarrer le service de file d’attente - Démarrer le service de file d’attente
Azurite : Démarrer le service Table - Démarrer le service Table
Cette commande indique à Azurite de stocker toutes les données dans un répertoire particulier, c:\azurite. Si l’option --location est omise, le répertoire de travail actif est utilisé.
Exécuter l’image Docker Azurite :
La commande suivante exécute l’image Docker Azurite. Le paramètre -p 10000:10000 redirige les requêtes du port 10000 de la machine hôte vers l’instance de Docker.
docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 \
mcr.microsoft.com/azure-storage/azurite
Spécifier l’emplacement de l’espace de travail :
Dans l’exemple suivant, le paramètre -v c:/azurite:/data spécifie c:/azurite en tant qu’emplacement des données persistantes d’Azurite. Le répertoire c:/azurite doit être créé avant l’exécution de la commande Docker.
Pour plus d’informations sur la configuration d’Azurite au démarrage, consultez la section Options de ligne de commande.
Pour commencer immédiatement à l’aide de la ligne de commande, créez un répertoire appelé c:\azurite, puis lancez Azurite en émettant la commande suivante :
Cette commande indique à Azurite de stocker toutes les données dans un répertoire particulier, c:\azurite. Si l’option --location est omise, le répertoire de travail actif est utilisé.
Options de ligne de commande
Cette section détaille les commutateurs de ligne de commande disponibles quand vous lancez Azurite.
Aide
Facultatif : permet d’obtenir de l’aide sur la ligne de commande en utilisant le commutateur -h ou --help.
Facultatif Par défaut, Azurite écoute le serveur local à l’adresse 127.0.0.1. Utilisez le commutateur --blobHost pour définir l’adresse en fonction de vos exigences.
Accepter les requêtes sur la machine locale uniquement :
azurite --blobHost 127.0.0.1
Autoriser les requêtes distantes :
azurite --blobHost 0.0.0.0
Attention
L’autorisation des requêtes distantes peut rendre votre système vulnérable aux attaques externes.
Facultatif Par défaut, Azurite écoute le serveur local à l’adresse 127.0.0.1. Utilisez le commutateur --queueHost pour définir l’adresse en fonction de vos exigences.
Accepter les requêtes sur la machine locale uniquement :
azurite --queueHost 127.0.0.1
Autoriser les requêtes distantes :
azurite --queueHost 0.0.0.0
Attention
L’autorisation des requêtes distantes peut rendre votre système vulnérable aux attaques externes.
Facultatif Par défaut, Azurite écoute le serveur local à l’adresse 127.0.0.1. Utilisez le commutateur --tableHost pour définir l’adresse en fonction de vos exigences.
Accepter les requêtes sur la machine locale uniquement :
azurite --tableHost 127.0.0.1
Autoriser les requêtes distantes :
azurite --tableHost 0.0.0.0
Attention
L’autorisation des requêtes distantes peut rendre votre système vulnérable aux attaques externes.
Facultatif Par défaut, Azurite écoute le service BLOB sur le port 10000. Utilisez le commutateur --blobPort pour spécifier le port d’écoute nécessaire.
Notes
Après avoir utilisé un port personnalisé, vous devez mettre à jour la chaîne de connexion ou la configuration correspondante dans vos outils du service Stockage Azure ou vos kits SDK.
Personnaliser le port d’écoute du service Blob :
azurite --blobPort 8888
Laisser le système sélectionner automatiquement un port disponible :
azurite --blobPort 0
Le port utilisé s’affiche au démarrage d’Azurite.
Facultatif Par défaut, Azurite écoute le service de file d’attente sur le port 10001. Utilisez le commutateur --queuePort pour spécifier le port d’écoute nécessaire.
Notes
Après avoir utilisé un port personnalisé, vous devez mettre à jour la chaîne de connexion ou la configuration correspondante dans vos outils du service Stockage Azure ou vos kits SDK.
Personnaliser le port d’écoute du service de file d'attente :
azurite --queuePort 8888
Laisser le système sélectionner automatiquement un port disponible :
azurite --queuePort 0
Le port utilisé s’affiche au démarrage d’Azurite.
Facultatif Par défaut, Azurite écoute le service de Table sur le port 10002. Utilisez le commutateur --tablePort pour spécifier le port d’écoute nécessaire.
Notes
Après avoir utilisé un port personnalisé, vous devez mettre à jour la chaîne de connexion ou la configuration correspondante dans vos outils du service Stockage Azure ou vos kits SDK.
Personnalisez le port d’écoute du service Table :
azurite --tablePort 11111
Laisser le système sélectionner automatiquement un port disponible :
azurite --tablePort 0
Le port utilisé s’affiche au démarrage d’Azurite.
Chemin de l’espace de travail
Facultatif Azurite stocke les données sur le disque local durant l’exécution. Utilisez le commutateur -l ou --location pour spécifier un chemin en tant qu’emplacement de l’espace de travail. Par défaut, le répertoire de travail du processus actuel est utilisé. Remarquez le « l » minuscule.
Facultatif Le journal des accès s’affiche par défaut dans la fenêtre de console. Désactivez l’affichage du journal des accès à l’aide du commutateur -s ou --silent.
azurite -s
azurite --silent
Journal de débogage
Facultatif Le journal de débogage contient des informations détaillées sur chaque arborescence des appels de procédure relative aux requêtes et aux exceptions. Activez le journal de débogage en fournissant un chemin de fichier local valide au commutateur -d ou --debug.
Facultatif Par défaut, Azurite applique le mode strict pour bloquer les en-têtes et les paramètres de requête non pris en charge. Désactivez le mode strict en utilisant le commutateur -L ou --loose. Remarquez le « L » majuscule.
azurite -L
azurite --loose
Version
Facultatif : permet d’afficher le numéro de la version d’Azurite installée en utilisant le commutateur -v ou --version.
azurite -v
azurite --version
Configuration de certificat (HTTPS)
Facultatif : par défaut, Azurite utilise le protocole HTTP. Vous pouvez activer le mode HTTPS en fournissant un chemin d’accès à une messagerie améliorée à la confidentialité (.pem) ou échange d’informations personnelles (.pfx) fichier de certificat vers le commutateur --cert. HTTPS est requis pour se connecter à Azurite à l’aide de l'authentification OAuth.
Lorsque --cert est fourni pour un fichier PEM, vous devez fournir un commutateur --key correspondant.
azurite --cert path/server.pem --key path/key.pem
Lorsque --cert est fourni pour un fichier PFX, vous devez fournir un commutateur --pwd correspondant.
azurite --cert path/server.pfx --pwd pfxpassword
Configuration HTTPS
Pour plus d’informations sur la génération de fichiers PEM et PFX, consultez configuration HTTPS.
Configuration OAuth
Facultatif : activez l’authentification OAuth pour Azurite à l’aide du commutateur --oauth.
OAuth requiert un point de terminaison HTTPS. Assurez-vous que le protocole HTTPS est activé en fournissant un commutateur --cert avec le commutateur --oauth.
Azurite prend en charge l’authentification de base en spécifiant le paramètre basic au commutateur --oauth. Azurite effectue l’authentification de base, par exemple la validation du jeton de porteur entrant, la vérification de l’émetteur, de l’audience et de l’expiration. Azurite ne vérifie pas la signature du jeton ou les autorisations. Pour en savoir plus sur l’autorisation, consultez la section Autorisation pour les outils et kits SDK.
Ignorer la vérification de la version de l’API
Facultatif : au démarrage, Azurite vérifie que la version de l’API demandée est valide. La commande suivante ignore la vérification de la version de l’API :
azurite --skipApiVersionCheck
Désactiver l’URL de style de production
Facultatif. Lorsque vous utilisez le nom de domaine complet au lieu de l’adresse IP de l’hôte d’URI de requête, Azurite analyse par défaut le nom du compte de stockage à partir de l’hôte d’URI de requête. Vous pouvez forcer l’analyse du nom du compte de stockage à partir du chemin de l’URI de requête à l’aide de --disableProductStyleUrl:
azurite --disableProductStyleUrl
Persistance en mémoire
Facultatif. Par défaut, les métadonnées d’objet blob et de file d’attente sont conservées sur le disque et le contenu est conservé dans les fichiers d’étendue. Le stockage table conserve toutes les données sur disque. Vous pouvez désactiver la persistance de toutes les données sur disque et stocker uniquement les données en mémoire. Dans le scénario de persistance en mémoire, si le processus Azurite est arrêté, toutes les données sont perdues. Le comportement de persistance par défaut peut être remplacé à l’aide de l’option suivante :
azurite --inMemoryPersistence
Ce paramètre est rejeté lorsque l’implémentation des métadonnées SQL est activée (via AZURITE_DB) ou lorsque l’option --location est spécifiée.
Limite de mémoire d’étendue
Facultatif. Par défaut, le magasin d’étendues en mémoire (pour le contenu d’objets blob et de file d’attente) est limité à 50 % de la mémoire totale sur l’ordinateur hôte. Le total est évalué à l’aide de os.totalmem(). Cette limite peut être remplacée à l’aide de l’option suivante :
azurite --extentMemoryLimit <megabytes>
Il n’existe aucune restriction sur la valeur spécifiée pour cette option, mais la mémoire virtuelle peut être utilisée si la limite dépasse la quantité de mémoire physique disponible fournie par le système d’exploitation. Une limite élevée peut éventuellement entraîner des erreurs de mémoire insuffisantes ou réduire les performances. Cette option est rejetée quand --inMemoryPersistence elle n’est pas spécifiée.
Se connecter à Azurite avec des Kits de développement logiciel (SDK) et des outils
Vous pouvez vous connecter à Azurite à partir de SDK de Stockage Azure ou d’outils tels que l’Explorateur Stockage Azure. L’authentification est requise et Azurite prend en charge l’autorisation avec OAuth, une clé partagée et les signatures d’accès partagé (SAS, shared access signatures). Azurite prend également en charge l’accès anonyme aux conteneurs publics.
Pour plus d’informations sur l’utilisation d’Azurite avec les kits SDK Azure, consultez la section Kits SDK Azure.
Clé et compte de stockage reconnus
Ce compte et cette clé reconnus sont les mêmes que ceux utilisés par l’émulateur de stockage Azure hérité. Azurite les accepte.
Nom du compte : devstoreaccount1
Clé de compte : Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
Comptes et clés de stockage personnalisés
Azurite prend en charge les noms de compte et les clés de stockage personnalisés via la définition de la variable d’environnement AZURITE_ACCOUNTS au format suivant : account1:key1[:key2];account2:key1[:key2];....
Par exemple, utilisez un compte de stockage personnalisé qui a une clé :
set AZURITE_ACCOUNTS="account1:key1"
export AZURITE_ACCOUNTS="account1:key1"
Notes
Les clés de compte doivent être une chaîne encodée en base64.
Vous pouvez aussi utiliser plusieurs comptes de stockage avec deux clés chacun :
set AZURITE_ACCOUNTS="account1:key1:key2;account2:key1:key2"
Par défaut, Azurite actualise les noms de compte et les clés personnalisés à partir de la variable d’environnement toutes les minutes. Avec cette fonctionnalité, vous pouvez effectuer dynamiquement une rotation de la clé de compte ou ajouter de nouveaux comptes de stockage sans redémarrer Azurite.
Notes
Le compte de stockage devstoreaccount1 par défaut est désactivé quand vous définissez des comptes de stockage personnalisés. Si vous souhaitez continuer à utiliser devstoreaccount1 après avoir activé des comptes de stockage personnalisés, vous devez l’ajouter à la liste des comptes et clés personnalisés dans la variable d’environnement AZURITE_ACCOUNTS.
Les clés de compte doivent être une chaîne encodée en base64.
Chaînes de connexion
La méthode la plus simple pour vous connecter à Azurite à partir de votre application consiste à configurer une chaîne de connexion dans le fichier config de votre application, qui référence le raccourci UseDevelopmentStorage=true. Voici un exemple de chaîne de connexion dans un fichier app.config :
Remplacez cert-name.pem et certname-key.pem par les noms de vos fichiers de certificat et de clé. Si vous utilisez un certificat PFX, utilisez l’option --pwd au lieu de l’option --key.
Pour interagir avec les ressources de stockage Blob, vous pouvez instancier un BlobContainerClient, BlobServiceClient ou BlobClient.
Les exemples suivants montrent comment autoriser un objet BlobContainerClient à l’aide de trois mécanismes d’autorisation différents : DefaultAzureCredential, chaîne de connexion et clé partagée. DefaultAzureCredential fournit un mécanisme d’authentification basé sur le jeton du porteur et utilise une chaîne de types d’informations d’identification utilisées pour l’authentification. Une fois authentifiées, ces informations d’identification fournissent le jeton OAuth dans le cadre de l’instanciation du client. Pour plus d’informations, consultez la référence de classe DefaultAzureCredential.
// With container URL and DefaultAzureCredential
var client = new BlobContainerClient(
new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"), new DefaultAzureCredential()
);
// With connection string
var client = new BlobContainerClient(
"DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;", "container-name"
);
// With account name and key
var client = new BlobContainerClient(
new Uri("https://127.0.0.1:10000/devstoreaccount1/container-name"),
new StorageSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==")
);
Pour interagir avec les ressources de stockage file d’attente, vous pouvez instancier un QueueClient ou QueueServiceClient.
Les exemples suivants montrent comment créer et autoriser un objet QueueClient à l’aide de trois mécanismes d’autorisation différents : DefaultAzureCredential, chaîne de connexion et clé partagée. DefaultAzureCredential fournit un mécanisme d’authentification basé sur le jeton du porteur et utilise une chaîne de types d’informations d’identification utilisées pour l’authentification. Une fois authentifiées, ces informations d’identification fournissent le jeton OAuth dans le cadre de l’instanciation du client. Pour plus d’informations, consultez la référence de classe DefaultAzureCredential.
// With queue URL and DefaultAzureCredential
var client = new QueueClient(
new Uri("https://127.0.0.1:10001/devstoreaccount1/queue-name"), new DefaultAzureCredential()
);
// With connection string
var client = new QueueClient(
"DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;", "queue-name"
);
// With account name and key
var client = new QueueClient(
new Uri("https://127.0.0.1:10001/devstoreaccount1/queue-name"),
new StorageSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==")
);
Pour interagir avec les ressources de stockage table, vous pouvez instancier un TableClient ou TableServiceClient.
Les exemples suivants montrent comment créer et autoriser un objet TableClient à l’aide de trois mécanismes d’autorisation différents : DefaultAzureCredential, chaîne de connexion et clé partagée. DefaultAzureCredential fournit un mécanisme d’authentification basé sur le jeton du porteur et utilise une chaîne de types d’informations d’identification utilisées pour l’authentification. Une fois authentifiées, ces informations d’identification fournissent le jeton OAuth dans le cadre de l’instanciation du client. Pour plus d’informations, consultez la référence de classe DefaultAzureCredential.
// With table URL and DefaultAzureCredential
var client = new Client(
new Uri("https://127.0.0.1:10002/devstoreaccount1/table-name"), new DefaultAzureCredential()
);
// With connection string
var client = new TableClient(
"DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;TableEndpoint=https://127.0.0.1:10002/devstoreaccount1;", "table-name"
);
// With account name and key
var client = new TableClient(
new Uri("https://127.0.0.1:10002/devstoreaccount1/table-name"),
new StorageSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==")
);
Explorateur Stockage Microsoft Azure
Vous pouvez utiliser Explorateur Stockage pour afficher les données stockées dans Azurite.
Se connecter à Azurite en utilisant le HTTP
Dans Explorateur Stockage, connectez-vous à Azurite en procédant comme suit :
Sélectionnez l’icône Manage Accounts (Gérer les comptes)
Sélectionnez Ajouter un compte.
Sélectionnez Attacher à un émulateur local
Sélectionnez Suivant.
Entrez le nom de votre choix dans le champ Display name (Nom complet)
Sélectionnez Suivant de nouveau
Sélectionnez Se connecter.
Se connecter à Azurite en utilisant le HTTPS
Par défaut Explorateur Stockage n’ouvre pas de point de terminaison HTTPS qui utilise un certificat auto-signé. Si vous exécutez Azurite avec le HTTPS, il vous faudra probablement utiliser un certificat auto-signé. Dans Explorateur Stockage, importez des certificats SSL via la boîte de dialogue Modifier ->Certificats SSL ->Importer des certificats.
Importer un certificat dans Explorateur Stockage
Recherchez le certificat sur votre ordinateur local.
Dans Explorateur Stockage, accédez à Modifier ->Certificats SSL ->Importer des certificats, puis importez votre certificat.
Si vous n’importez pas de certificat, vous obtenez une erreur :
unable to verify the first certificate ou self signed certificate in chain
Ajouter Azurite via une chaîne de connexion HTTPS
Pour ajouter Azurite HTTPS à Explorateur Stockage, procédez comme suit :
Sélectionnez Activer/désactiver l'Explorateur
Sélectionnez Local & Attached (Local et joint)
Cliquez avec le bouton droit sur Storage Accounts (Comptes de stockage), puis sélectionnez Connect to Azure Storage (Se connecter à Stockage Azure).
Sélectionnez Utiliser une chaîne de connexion.
Sélectionnez Suivant.
Entrez une valeur dans le champ Nom complet.
Entrez la chaîne de connexion HTTPS récupérée dans la section précédente de ce document
Sélectionnez Suivant.
Sélectionnez Se connecter.
Structure de l’espace de travail
Les fichiers et dossiers suivants peuvent être créés à l’emplacement de l’espace de travail lors de l’initialisation d’Azurite.
__blobstorage__ : répertoire contenant les données binaires persistantes du service Blob Azurite
__queuestorage__ : répertoire contenant les données binaires persistantes du service File d’attente Azurite
__tablestorage__ : répertoire contenant les données binaires persistantes du service de table Azurite
__azurite_db_blob__.json : fichier de métadonnées du service Blob Azurite
__azurite_db_blob_extent__.json : fichier de métadonnées d’extension du service Blob Azurite
__azurite_db_queue__.json : fichier de métadonnées du service File d’attente Azurite
__azurite_db_queue_extent__.json : fichier de métadonnées d’extension du service File d’attente Azurite
__azurite_db_table__.json : fichier de métadonnées du service de table Azurite
__azurite_db_table_extent__.json : fichier de métadonnées d’extension du service de table Azurite
Pour nettoyer Azurite, supprimez les fichiers et dossiers ci-dessus, puis redémarrez l’émulateur.
Différences entre Azurite et Stockage Azure
Il existe des différences fonctionnelles entre une instance locale d’Azurite et un compte de stockage Azure dans le cloud.
Point de terminaison et URL de connexion
Les points de terminaison de service pour Azurite se distinguent des points de terminaison d’un compte de stockage Azure. Dans la mesure où l’ordinateur local n’effectue pas de résolution de noms de domaine, les points de terminaison Azurite doivent être des adresses locales.
Quand vous adressez une ressource dans un compte de stockage Azure, le nom du compte fait partie du nom d’hôte de l’URI. La ressource adressée fait partie du chemin de l’URI :
Dans la mesure où l’ordinateur local ne résout pas les noms de domaine, le nom du compte fait partie du chemin de l’URI au lieu du nom d’hôte. Utilisez le format d’URI suivant pour une ressource dans Azurite :
Lancez Azurite et utilisez une chaîne de connexion personnalisée pour accéder à votre compte. Dans cet exemple, la chaîne de connexion suppose que les ports par défaut sont utilisés.
N’accédez pas au compte par défaut de cette façon avec l’Explorateur Stockage Azure. En raison d’un bogue, l’Explorateur Stockage ajoute toujours le nom du compte dans le chemin d’URL, ce qui entraîne des défaillances.
Par défaut, lors de l’utilisation d’Azurite avec une URL de style production, le nom du compte doit être le nom d’hôte dans un nom de domaine complet tel que http://devstoreaccount1.blob.localhost:10000/container. Pour utiliser l’URL de style production avec le nom du compte dans le chemin d’URL tel que http://foo.bar.com:10000/devstoreaccount1/container, veillez à utiliser le paramètre --disableProductStyleUrl lorsque vous démarrez Azurite.
Si vous utilisez host.docker.internal comme hôte d’URI de requête (par exemple http://host.docker.internal:10000/devstoreaccount1/container), Azurite récupère le nom du compte à partir du chemin de l’URI de requête. et ce, que le paramètre --disableProductStyleUrl soit ou non employé au démarrage d’Azurite.
Mise à l’échelle et niveau de performance
Azurite ne prend pas en charge la connexion simultanée d’un grand nombre de clients. Il est impossible de garantir le niveau de performance. Azurite est conçu à des fins de développement et de test.
Gestion des erreurs
Azurite s’aligne sur la logique de gestion des erreurs du Stockage Azure, mais il existe des différences. Par exemple, les messages d’erreur peuvent être différents, tandis que les codes d’état d’erreur s’alignent.
RA-GRS
Azurite prend en charge la réplication géoredondante avec accès en lecture (RA-GRS). Pour les ressources de stockage, accédez à l’emplacement secondaire en ajoutant -secondary au nom du compte. Par exemple, vous pouvez utiliser l’adresse suivante pour accéder à un objet blob à l’aide de l’emplacement secondaire en lecture seule dans Azurite :
Dans Azurite, la prise en charge des tables est actuellement disponible en préversion. Pour plus d’informations, consultez le projet Azurite V3 Table.
La prise en charge des fonctions durables requiert des tables.
Important
La prise en charge du Stockage Table par Azurite est actuellement en PRÉVERSION. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Azurite est open source
Les contributions et suggestions relatives à Azurite sont les bienvenues. Accédez à la page des projets GitHub ou des problèmes GitHub relatifs à Azurite pour connaître les jalons et les éléments de travail que nous suivons en ce qui concerne les fonctionnalités à venir et les résolutions de bogues. Les éléments de travail détaillés sont également suivis dans GitHub.
L’émulateur de stockage Azure (déconseillé) fournit un environnement de développement local gratuit pour développer et tester vos applications Stockage Azure.
Utilisez Emulator Express pour exécuter et déboguer un service cloud Azure (support étendu) sur une machine locale sans exécuter Visual Studio en tant qu’administrateur.
Configurez une chaîne de connexion pour un compte de stockage Azure. Une chaîne de connexion inclut les informations nécessaires pour autoriser l’accès à un compte de stockage, depuis votre application et pendant l’exécution, au moyen de l’autorisation Clé partagée.
Apprenez à coder et à tester des Azure Functions à partir de l’invite de commandes ou du terminal sur votre ordinateur local avant de les exécuter dans Azure Functions.
Dans ce module, vous allez découvrir les composants intégrés à .NET Aspire, qui facilitent le stockage des fichiers, des données et des messages dans les comptes Stockage Azure.
Écrivez des requêtes efficaces, créez des stratégies d’indexation, gérez et approvisionnez des ressources dans l’API SQL et le Kit de développement logiciel (SDK) avec Microsoft Azure Cosmos DB.