Az Azurite emulátor használata helyi Azure Storage-fejlesztéshez

Az Azurite nyílt forráskódú emulátor ingyenes helyi környezetet biztosít a felhőalapú alkalmazások teszteléséhez. Ha elégedett az alkalmazás helyi működésével, váltson egy Azure Storage-fiók használatára a felhőben.

Az Azurite egy JavaScriptben írt, egyszerűsített tárolóemulátor, amely Node.js fut, amely az Azure Storage szolgáltatást szimulálja a helyi fejlesztéshez. Támogatja a Blob, a Queue és a Table Storage szolgáltatást, és platformfüggetlen támogatást nyújt Windows, Linux és macOS rendszeren. Az Azurite telepítésével és futtatásával kapcsolatos segítségért tekintse meg az Azurite emulátor telepítését és futtatását.

Az Azurite lehetővé teszi a fejlesztők számára, hogy teszteket futtasson egy helyi tárolókörnyezeten, szimulálva az Azure viselkedését, ami elengedhetetlen az integrációhoz és a végpontok közötti teszteléshez. Az Azurite automatikus teszteléshez való használatáról további információt az Azurite használata automatizált tesztek futtatásához című témakörben talál.

Az Azurite felülírja az Azure Storage Emulatort, és folyamatosan frissül, hogy támogassa az Azure Storage API-k legújabb verzióit.

Különbségek az Azurite és az Azure Storage között

Funkcionális különbségek vannak az Azurite helyi példánya és a felhőben található Azure Storage-fiók között.

Fontos

Az Azurite csak a Blob, a Queue és a Table Storage szolgáltatást támogatja. Nem támogatja az Azure Filest vagy az Azure Data Lake Storage Gen2-t, de platformfüggetlen támogatást nyújt Windows, Linux és macOS rendszeren.

Végpont és kapcsolat URL-címe

Az Azurite szolgáltatásvégpontjai eltérnek az Azure Storage-fiók végpontjaitól. A helyi számítógép nem végez tartománynévfeloldást, ezért az Azurite-végpontok helyi címek.

Amikor egy Azure Storage-fiókban lévő erőforrást kezel, a fiók neve az URI-gazdagép nevének része. A címzett erőforrás az URI-elérési út része:

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

Az alábbi URI egy Azure Storage-fiókban lévő blob érvényes címe:

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

IP-stílusú URL-cím

Mivel a helyi számítógép nem oldja fel a tartományneveket, a fióknév a gazdagép neve helyett az URI-elérési út része. Használja az alábbi URI-formátumot egy erőforráshoz az Azurite-ban:

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

Az alábbi cím használható egy blob elérésére az Azurite-ban:

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

Éles stílusú URL-cím

Igény szerint módosíthatja a gazdagépfájlt, hogy hozzáférjen egy éles stílusú URL-címmel rendelkező fiókhoz.

Először adjon hozzá egy vagy több sort a gazdagépfájlhoz. Például:

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

Ezután állítsa be a környezeti változókat a testreszabott tárfiókok és kulcsok engedélyezéséhez:

set AZURITE_ACCOUNTS="account1:key1:key2"

További fiókokat is hozzáadhat. Lásd a Csatlakozás az Azurite-hoz című cikk Egyéni tárfiókok és kulcsok című szakaszát.

Indítsa el az Azurite-ot, és használjon testre szabott kapcsolati sztringet a fiók eléréséhez. Az alábbi példában a kapcsolati sztring feltételezi, hogy az alapértelmezett portok vannak használatban.

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

Ne férhessen hozzá az alapértelmezett fiókhoz az Azure Storage Explorerrel. Hiba lépett fel, hogy a Storage Explorer mindig hozzáadja a fiók nevét az URL-elérési úthoz, ami hibákat okoz.

Ha az Azurite-ot éles stílusú URL-címmel használja, a fióknévnek a teljes tartománynévben szereplő állomásnévnek kell lennie, például http://devstoreaccount1.blob.localhost:10000/container. Ha éles stílusú URL-címet szeretne használni a fiók nevével az URL-elérési útvonalban, például http://foo.bar.com:10000/devstoreaccount1/containeraz Azurite indításakor mindenképpen használja a --disableProductStyleUrl paramétert.

Ha kérés Uri-gazdagépként használja host.docker.internal (például: http://host.docker.internal:10000/devstoreaccount1/container), az Azurite lekéri a fiók nevét a kérelem Uri elérési útjáról. Ez a viselkedés attól függetlenül igaz, hogy a paramétert az --disableProductStyleUrl Azurite indításakor használja-e.

Skálázás és teljesítmény

Az Azurite nem támogatja a nagy számú csatlakoztatott ügyfelet. Nincs teljesítménygarancia. Az Azurite fejlesztési és tesztelési célokra készült.

Hibakezelés

Az Azurite az Azure Storage hibakezelési logikájával van összhangban, de vannak különbségek. Előfordulhat például, hogy a hibaüzenetek eltérőek, míg a hibaállapot-kódok egymáshoz igazodnak.

RA-GRS

Az Azurite támogatja az olvasási hozzáférésű georedundáns replikációt (RA-GRS). Tárolási erőforrások esetén a fiók nevének hozzáfűzésével -secondary érheti el a másodlagos helyet. Például a következő cím használható egy blob elérésére az Azurite írásvédett másodlagos használatával:

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

Táblatámogatás

Az Azurite-táblák támogatása jelenleg előzetes verzióban érhető el. További információt az Azurite V3 Table projektben talál.

A tartós függvények támogatásához táblákra van szükség.

Fontos

A Table Storage azurite-támogatása jelenleg előzetes verzióban érhető el. A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Az azurite nyílt forráskódú

Szívesen fogadjuk az Azurite-ra vonatkozó hozzájárulásokat és javaslatokat. Nyissa meg az Azurite GitHub projektoldalát vagy a GitHub-problémákat a közelgő funkciók és hibajavítások nyomon követésével kapcsolatos mérföldkövekkel és munkaelemekkel kapcsolatban. A részletes munkaelemeket a GitHub is nyomon követi.

Munkaterület felépítése

Az Azurite inicializálásakor a munkaterület helyén a következő fájlok és mappák hozhatók létre.

  • __blobstorage__ - Az azurite blobszolgáltatást tartalmazó könyvtárban tárolt bináris adatok
  • __queuestorage__ - Az azurite queue service-t tartalmazó címtárban tárolt bináris adatok
  • __tablestorage__ - Az azurite table service-t tartalmazó könyvtárban tárolt bináris adatok
  • __azurite_db_blob__.json - Azurite blobszolgáltatás metaadatfájlja
  • __azurite_db_blob_extent__.json - Azurite blobszolgáltatás-terjedelem metaadatfájlja
  • __azurite_db_queue__.json - Azurite queue service metaadatfájlja
  • __azurite_db_queue_extent__.json - Azurite queue service extent metadata file
  • __azurite_db_table__.json - Azurite table service metadata file
  • __azurite_db_table_extent__.json - Azurite table service extent metadata file

Az Azurite eltávolításához törölje a fájlokat és mappákat, majd indítsa újra az emulátort.

Következő lépések