Utiliser l’émulateur azurite pour le développement de stockage Azure local

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.

Installer Azurite

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.

Exécuter 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 :

Emplacement du fichier exécutable Azurite

Le tableau suivant indique l’emplacement de l’exécutable Azurite pour différentes versions de Visual Studio exécutées sur un ordinateur Windows :

Version Visual Studio Emplacement de l’exécutable Azurite
Visual Studio Community 2022 C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Professional 2022 C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Enterprise 2022 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator

Exécution d’Azurite à partir de la ligne de commande

Vous pouvez trouver le fichier exécutable Azurite dans le dossier des extensions de votre installation de Visual Studio, comme indiqué dans la table d’emplacement du fichier exécutable Azurite.

Accédez à l’emplacement approprié et démarrez azurite.exe. Une fois le fichier exécutable exécuté, Azurite écoute les connexions.

Azurite command-line output

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.

A screenshot showing how to set Azurite to be the runtime storage account for an Azure Functions project.

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 :

A screenshot showing output after setting Azurite to be the runtime storage account for an Azure Functions project.

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.

A screenshot showing how to add Azurite as a dependency to an ASP.NET project.

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.

A screenshot showing how to configure a connection string to use Azurite with an ASP.NET project.

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 :

A screenshot showing output after connecting an ASP.NET project to the Azurite emulator.

Cette option de configuration peut être modifiée ultérieurement en changeant les dépendances des Services connectés du projet.

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.

azurite -h
azurite --help

Hôte d’écoute

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.

Configuration du port d’écoute

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.

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.

azurite -l c:\azurite
azurite --location c:\azurite

Journal d’accès

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.

azurite -d path/debug.log
azurite --debug path/debug.log

Mode relâché

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.

azurite --oauth basic --cert path/server.pem --key path/key.pem

Notes

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.

Pour plus d’informations, consultez Utiliser le stockage en mémoire.

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"
export 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 :

<appSettings>
  <add key="StorageConnectionString" value="UseDevelopmentStorage=true" />
</appSettings>
Chaînes de connexion HTTP

Vous pouvez transmettre les chaînes de connexion suivantes aux Kits de développement logiciel Azure (SDK) ou aux outils, comme Azure CLI 2.0 ou Explorateur Stockage.

La chaîne de connexion complète est :

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;

Pour vous connecter à un service spécifique, vous pouvez utiliser les chaînes de connexion suivantes :

Pour se connecter au stockage Blob uniquement, la chaîne de connexion est la suivante :

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;

Chaînes de connexion HTTPS

La chaîne de connexion HTTPS complète est :

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=https://127.0.0.1:10001/devstoreaccount1;TableEndpoint=https://127.0.0.1:10002/devstoreaccount1;

Pour vous connecter à un service spécifique, vous pouvez utiliser les chaînes de connexion suivantes :

Pour utiliser uniquement le service BLOB, utilisez la chaîne de connexion HTTPS :

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://127.0.0.1:10000/devstoreaccount1;

Si vous avez utilisé dotnet dev-certs pour générer votre certificat auto-signé, utilisez la chaîne de connexion suivante :

DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://localhost:10000/devstoreaccount1;QueueEndpoint=https://localhost:10001/devstoreaccount1;TableEndpoint=https://localhost:10002/devstoreaccount1;

Mettez à jour la chaîne de connexion lorsque vous utilisez des clés et comptes de stockage personnalisés.

Pour plus d’informations, consultez Configuration des chaînes de connexion Stockage Azure.

SDK Azure

Pour vous connecter à Azurite avec les kits de développement logiciel (SDK) Azure , procédez comme suit :

Une fois les certificats en place, démarrez Azurite avec les options de ligne de commande suivantes :

azurite --oauth basic --cert cert-name.pem --key cert-name-key.pem

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==")
  );

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 :

  1. Sélectionnez l’icône Manage Accounts (Gérer les comptes)
  2. Sélectionnez Ajouter un compte.
  3. Sélectionnez Attacher à un émulateur local
  4. Sélectionnez Suivant.
  5. Entrez le nom de votre choix dans le champ Display name (Nom complet)
  6. Sélectionnez Suivant de nouveau
  7. 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
  1. Recherchez le certificat sur votre ordinateur local.
  2. 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 :

  1. Sélectionnez Activer/désactiver l'Explorateur
  2. Sélectionnez Local & Attached (Local et joint)
  3. Cliquez avec le bouton droit sur Storage Accounts (Comptes de stockage), puis sélectionnez Connect to Azure Storage (Se connecter à Stockage Azure).
  4. Sélectionnez Utiliser une chaîne de connexion.
  5. Sélectionnez Suivant.
  6. Entrez une valeur dans le champ Nom complet.
  7. Entrez la chaîne de connexion HTTPS récupérée dans la section précédente de ce document
  8. Sélectionnez Suivant.
  9. 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 :

<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>

L’URI suivant est une adresse valide pour un objet blob dans un compte de stockage Azure :

https://myaccount.blob.core.windows.net/mycontainer/myblob.txt

URL de style IP

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 :

http://<local-machine-address>:<port>/<account-name>/<resource-path>

Vous pouvez utiliser l’adresse suivante pour accéder à un objet blob dans Azurite :

http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt

URL de style production

Si vous le souhaitez, vous pouvez modifier votre fichier d’hôte pour accéder à un compte avec une URL de style production.

Tout d’abord, ajoutez une ou plusieurs lignes à votre fichier d’hôte. Par exemple :

127.0.0.1 account1.blob.localhost
127.0.0.1 account1.queue.localhost
127.0.0.1 account1.table.localhost

Ensuite, définissez des variables d’environnement pour activer des comptes de stockage et des clés personnalisés :

set AZURITE_ACCOUNTS="account1:key1:key2"

Vous pouvez ajouter d’autres comptes. Consultez la section Comptes de stockage et clés personnalisés de cet article.

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.

DefaultEndpointsProtocol=http;AccountName=account1;AccountKey=key1;BlobEndpoint=http://account1.blob.localhost:10000;QueueEndpoint=http://account1.queue.localhost:10001;TableEndpoint=http://account1.table.localhost:10002;

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 :

http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt

Prise en charge des tables

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.

Étapes suivantes