Azurite – lekki storage emulator dla azure

Azure

Wiadomo, azure chmura ma dużo komputerów może robić co chce i tak będzie szybko. Ale gdy to samo robimy w domkach to już tak dobrze nie ma, wtedy dobrze jest mieć albo szybko komputer. Albo petrodolary, żeby wszystkie eksperymenty robić na chmurze. Albo zagryzać zęby i męczyć się z powolnym emulatorem chmury.

Ból

Otóż doprowadzało mnie do białej gorączki to, że domyślnie instalowany emulator azure (ten do storage) działa tak okrutnie, krwiście powoli. A dodatkowo często lubi coś tam sobie robić w tle. Przez co momentami procesor pocił się jak lokomotywa u Tuwima, ale efektów nie było.

Azurite

Google i trochę szczęścia moim przyjacielem znalazłem:
Azurite ( https://github.com/Azure/Azurite ):

“A lightweight server clone of Azure Storage that simulates most of the commands supported by it with minimal dependencies”

Częściowo zaimplementowany, część nadal implementowana.
Jeśli chodzi o mnie, to posiada ważnego ficzera w 100% ogarniętego czyli azurowe kolejki. Z resztą rzeczy jeszcze walczą:
https://github.com/Azure/Azurite#what-todos-are-there.

Na stronie dokumentacji widać, że jest npm, nuger, docker. Wybrałem dokera, żeby się js nie kalać 😜 A tak naprawdę, to wymyśliłem tak: wcześniej miałem na npm, ale nie ma opcji tam zmiany portów na inne niż domyślne, ale one są już zajęte przez domyślny emulator…

Dygresja

Szukałem, ale nie znalazłem jak projekty w VS odpalają emulator azure. Jak to wyłączyć, czy się da, czy coś. Zauważyłem że jest emulator watcher, który jest odpowiedzialny za startowanie odpowiedniego emulatora. Z braku lepszego pomysłu, zmieniłem jego nazwę i przestał się włączać i mnie wkurzać #umniedziała

Wracamy

Skoro wcześniej były one zajęte, to będzie problem z portami, dlatego wezmę sobie wersję dockera i udostępnię na innych portach. To było zanim udało mi się “wyłączyć” emulator. Ale! Idąc za instrukcją:

$ docker pull arafato/azurite 
$ docker run -d -t -p 20000:10000 -p 20001:10001 -p 20002:10002 -v /path/to/folder:/opt/azurite/folder arafato/azurite

Folderki według swojego uznania sobie montujecie. Ważne aby porty przemapować, jeśli nie zamierzacie wywalać oryginalnego 📏📏📏 emulatora wywalać i chcecie aby obok siebie pracowały.

Teraz tylko odpowiednia modyfikacja connection string, aby z 1000x wskazywał na 2000x i cieszę się z wydajnego emulatora, który zabiera czas procesora tylko wtedy gdy coś robi 🐱‍🐉#niemaopierdalaniasie

Wygląda i działa tak samo jak normalny, z uwagami autorów:
(https://github.com/Azure/Azurite#api-support)

Buźka, tyle.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.