Azurite – un Azure Storage Emulator multiplateforme
Si tu es un adepte de macOS ou de Linux, tu as probablement dû remarquer que le Azure Storage Emulator n’existe pas pour ces plateformes. Microsoft ne l’a créé que pour Windows.
Qu’à cela ne tienne, la communauté open source a lancé un projet visant à développer un équivalent au Azure Storage Emulator fonctionnant sous macOS et Linux. Ce projet porte le nom d’Azurite.
Bien qu’il se retrouve dans le repo GitHub d’Azure (et donc de Microsoft), il n’a pas originellement été créé par Microsoft.
À quoi sert un Azure Storage Emulator ?
Bien que les coûts relative à un Storage Account sur Azure soient relativement dérisoire, il faut quand même une connexion Internet active pour pouvoir accéder à un Storage Account sur Azure.
Un Storage Emulator nous abstrait de cette dépendance et simule l’accès à un Storage Account directement sur notre machine locale et sans nécessiter de connexion Internet active.
Utiliser Azurite
Je vais te montrer comment l’utiliser sous macOS mais si tu es plutôt un adepte de Linux, tu peux suivre les étapes décrites ici : https://github.com/azure/azurite
Je ne décris toutefois ici que l’utilisation de base d’Azurite. Pour connaitre toutes les options et les paramètres associés, je te recommande de faire un tour ici : https://github.com/azure/azurite
Installer Azurite
Azurite nécessite que Node.js en version 6.0 ou supérieur soit préalablement installé.
Ensuite, on installe Azurite via cette commande :
npm install -g azurite
Démarrer Azurite
Il est possible de démarrer l’émulation des 3 services : Queues, Tables, Blobs via la commande :
azurite -l working/directory
Ou simplement via la commande suivante si l’on souhaite utiliser le répertoire courant comme répertoire de travail :
azurite
Mais il est également possible de démarrer l’émulation de chacun des 3 services de manière indépendante via les commandes suivantes (avec ou sans le paramètre -l):
azurite-blob azurite-queue azurite-table
Par défaut, les URL de ces services sont les suivantes :
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1; QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1; TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
Toutefois, il est possible de les customiser.
Voici à quoi ressemble le démarrage d’Azurite. Tu peux constater que tu as les logs des actions que tu fais :
Ici, j’affiche la liste des blob containers de mon émulateur (oui, je sais, y a rien pour l’instant :)):
En conclusion…
Nous avons ici un bel exemple des avantages de l’Open Source et de l’implication de la communauté pour répondre à un besoin émis par cette dernière.