Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
De OpenSource-emulator Van Azurite biedt een gratis lokale omgeving voor het testen van uw cloudtoepassingen. Wanneer u tevreden bent over hoe uw toepassing lokaal werkt, schakelt u over naar het gebruik van een Azure Storage-account in de cloud.
Azurite is een lichtgewicht opslagemulator die is geschreven in JavaScript en wordt uitgevoerd op Node.js die de Azure Storage-service simuleert voor lokale ontwikkeling. Het ondersteunt de Blob-, Queue- en Table Storage-services en biedt platformoverschrijdende ondersteuning voor Windows, Linux en macOS. Zie Voor hulp bij het installeren en uitvoeren van Azurite emulator.
Met Azurite kunnen ontwikkelaars ook tests uitvoeren op basis van een lokale opslagomgeving, waarbij het gedrag van Azure wordt gesimulatord. Dit is van cruciaal belang voor integratie en end-to-end-tests. Zie Azurite gebruiken om geautomatiseerde tests uit te voeren voor meer informatie over het gebruik van Azurite voor geautomatiseerde tests.
Azurite vervangt de Azure Storage Emulator en blijft bijgewerkt ter ondersteuning van de nieuwste versies van Azure Storage-API's.
Verschillen tussen Azurite en Azure Storage
Er zijn functionele verschillen tussen een lokaal exemplaar van Azurite en een Azure Storage-account in de cloud.
Belangrijk
Azurite ondersteunt alleen de Blob-, Queue- en Table Storage-services. Azure Files of Azure Data Lake Storage Gen2 wordt niet ondersteund, maar biedt platformoverschrijdende ondersteuning voor Windows, Linux en macOS.
Eindpunt- en verbindings-URL
De service-eindpunten voor Azurite verschillen van de eindpunten van een Azure Storage-account. De lokale computer voert geen domeinnaamomzetting uit, waardoor AzureIte-eindpunten lokale adressen moeten zijn.
Wanneer u een resource in een Azure Storage-account adresseert, maakt de accountnaam deel uit van de hostnaam van de URI. De resource die wordt geadresseerd, maakt deel uit van het URI-pad:
<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>
De volgende URI is een geldig adres voor een blob in een Azure Storage-account:
https://myaccount.blob.core.windows.net/mycontainer/myblob.txt
URL in IP-stijl
Omdat de lokale computer geen domeinnamen oplost, maakt de accountnaam deel uit van het URI-pad in plaats van de hostnaam. Gebruik de volgende URI-indeling voor een resource in Azurite:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Het volgende adres kan worden gebruikt voor toegang tot een blob in Azurite:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
URL in productiestijl
U kunt het hosts-bestand desgewenst wijzigen om toegang te krijgen tot een account met url in productiestijl .
Voeg eerst een of meer regels toe aan het hosts-bestand. Voorbeeld:
127.0.0.1 account1.blob.localhost
127.0.0.1 account1.queue.localhost
127.0.0.1 account1.table.localhost
Stel vervolgens omgevingsvariabelen in om aangepaste opslagaccounts en sleutels in te schakelen:
set AZURITE_ACCOUNTS="account1:key1:key2"
U kunt meer accounts toevoegen. Zie de sectie Aangepaste opslagaccounts en sleutels van het artikel Verbinding maken met Azurite .
Start Azurite en gebruik een aangepaste verbindingsreeks voor toegang tot uw account. In het volgende voorbeeld gaat de verbindingsreeks ervan uit dat de standaardpoorten worden gebruikt.
DefaultEndpointsProtocol=http;AccountName=account1;AccountKey=key1;BlobEndpoint=http://account1.blob.localhost:10000;QueueEndpoint=http://account1.queue.localhost:10001;TableEndpoint=http://account1.table.localhost:10002;
Krijg op deze manier geen toegang tot het standaardaccount met Azure Storage Explorer. Er is een fout opgetreden die opslagverkenner altijd accountnaam toevoegt in het URL-pad, wat fouten veroorzaakt.
Wanneer u Azurite standaard gebruikt met een URL in productiestijl, moet de accountnaam de hostnaam zijn in volledig gekwalificeerde domeinnaam, zoals http://devstoreaccount1.blob.localhost:10000/container. Als u de URL in productiestijl wilt gebruiken met de accountnaam in het URL-pad, zoals http://foo.bar.com:10000/devstoreaccount1/container, moet u de --disableProductStyleUrl parameter gebruiken wanneer u Azurite start.
Als u host.docker.internal als aanvraag-URI-host (bijvoorbeeld: http://host.docker.internal:10000/devstoreaccount1/container) gebruikt, haalt Azurite de accountnaam op uit het aanvraag-URI-pad. Dit gedrag geldt ongeacht of u de parameter gebruikt bij het --disableProductStyleUrl starten van Azurite.
Schaalbaarheid en prestaties
Azurite biedt geen ondersteuning voor grote aantallen verbonden clients. Er is geen prestatiegarantie. Azuriet is bedoeld voor ontwikkelings- en testdoeleinden.
Foutafhandeling
Azurite is afgestemd op azure Storage-foutafhandelingslogica, maar er zijn verschillen. Foutberichten kunnen bijvoorbeeld verschillen, terwijl foutstatuscodes overeenkomen.
RA-GRS
Azurite ondersteunt geografisch redundante replicatie met leestoegang (RA-GRS). Voor opslagmiddelen opent u de secundaire locatie door -secondary aan de accountnaam toe te voegen. Het volgende adres kan bijvoorbeeld worden gebruikt voor toegang tot een blob met behulp van de alleen-lezen secundaire in Azurite:
http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt
Ondersteuning voor tabellen
Ondersteuning voor tabellen in Azurite is momenteel beschikbaar als preview-versie. Zie voor meer informatie het project Azurite V3 Table.
Ondersteuning voor duurzame functies vereist tabellen.
Belangrijk
Ondersteuning voor Azurite voor Table Storage is momenteel in PREVIEW. Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Azurite is opensource
Bijdragen en suggesties voor Azurite zijn welkom. Ga naar de Projectpagina van Azurite GitHub of GitHub voor mijlpalen en werkitems die we bijhouden voor toekomstige functies en oplossingen voor fouten. Gedetailleerde werkitems worden ook bijgehouden in GitHub.
Werkruimtestructuur
De volgende bestanden en mappen kunnen worden gemaakt op de werkruimtelocatie bij het initialiseren van Azurite.
-
__blobstorage__- Directory met De Blob-service Van Azure persistente binaire gegevens -
__queuestorage__- Directory met persistente binaire gegevens voor de Azurite-wachtrijservice -
__tablestorage__- Directory die de persistente binaire gegevens van de Azurite tabelservice bevat. -
__azurite_db_blob__.json- Metagegevensbestand voor de Blob-service van Azurite -
__azurite_db_blob_extent__.json- Metagegevensbestand voor de Blob-blobservice van Azurite -
__azurite_db_queue__.json- Metagegevensbestand voor de wachtrijservice van Azurite -
__azurite_db_queue_extent__.json- Metagegevensbestand voor de wachtrijservice van Azurite -
__azurite_db_table__.json- Metagegevensbestand voor de tabelservice Van Azurite -
__azurite_db_table_extent__.json- Uitgebreid metagegevensbestand voor Azurite-tabelservices
Als u Azurite wilt opschonen, verwijdert u de bestanden en mappen en start u de emulator opnieuw op.
Volgende stappen
- Installeer en voer de Azurite-emulator uit en beschrijft hoe u Azurite installeert en uitvoert op uw lokale computer.
- Verbinding maken met Azurite met SDK's en hulpprogramma's legt uit hoe u verbinding maakt met Azurite met behulp van verschillende Azure Storage SDK's en hulpprogramma's.
- Gebruik de Azure Storage Emulator voor het ontwikkelen en testen van documenten over de verouderde Azure Storage Emulator, vervangen door Azurite.