Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azurite-emulatorn med öppen källkod ger en kostnadsfri lokal miljö för testning av dina molnbaserade program. När du är nöjd med hur ditt program fungerar lokalt växlar du till att använda ett Azure Storage-konto i molnet.
Azurite är en enkel lagringsemulator skriven i JavaScript och körs på Node.js som simulerar Azure Storage-tjänsten för lokal utveckling. Den stöder blob-, kö- och tabelllagringstjänster och ger plattformsoberoende stöd i Windows, Linux och macOS. Mer information om hur du installerar och kör Azurite finns i Installera och köra Azurite-emulatorn.
Azurite gör det också möjligt för utvecklare att köra tester mot en lokal lagringsmiljö, vilket simulerar Azures beteende, vilket är avgörande för integrering och testning från slutpunkt till slutpunkt. Mer information om hur du använder Azurite för automatiserad testning finns i Använda Azurite för att köra automatiserade tester.
Azurite ersätter Azure Storage-emulatornoch fortsätter att uppdateras för att stödja de senaste versionerna av Azure Storage-API:er.
Skillnader mellan Azurite och Azure Storage
Det finns funktionella skillnader mellan en lokal instans av Azurite och ett Azure Storage-konto i molnet.
Viktigt!
Azurite stöder endast blob-, kö- och tabelllagringstjänster. Det stöder inte Azure Files eller Azure Data Lake Storage Gen2, men ger plattformsoberoende stöd i Windows, Linux och macOS.
Slutpunkt och anslutnings-URL
Tjänstslutpunkterna för Azurite skiljer sig från slutpunkterna för ett Azure Storage-konto. Den lokala datorn utför inte domännamnsmatchning, vilket kräver att Azurite-slutpunkter är lokala adresser.
När du adresserar en resurs i ett Azure Storage-konto är kontonamnet en del av URI-värdnamnet. Resursen som behandlas är en del av URI-sökvägen:
<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>
Följande URI är en giltig adress för en blob i ett Azure Storage-konto:
https://myaccount.blob.core.windows.net/mycontainer/myblob.txt
URL i IP-format
Eftersom den lokala datorn inte löser domännamn är kontonamnet en del av URI-sökvägen i stället för värdnamnet. Använd följande URI-format för en resurs i Azurite:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Följande adress kan användas för att komma åt en blob i Azurite:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
URL i produktionsformat
Du kan valfritt ändra din hosts-fil för att få tillgång till ett konto med en produktionsliknande URL.
Lägg först till en eller flera rader i värdfilen. Till exempel:
127.0.0.1 account1.blob.localhost
127.0.0.1 account1.queue.localhost
127.0.0.1 account1.table.localhost
Ange sedan miljövariabler för att aktivera anpassade lagringskonton och nycklar:
set AZURITE_ACCOUNTS="account1:key1:key2"
Du kan lägga till fler konton. Se avsnittet Anpassade lagringskonton och nycklar i artikeln Anslut till Azurite .
Starta Azurite och använd en anpassad anslutningssträng för att komma åt ditt konto. I följande exempel förutsätter anslutningssträngen att standardportarna används.
DefaultEndpointsProtocol=http;AccountName=account1;AccountKey=key1;BlobEndpoint=http://account1.blob.localhost:10000;QueueEndpoint=http://account1.queue.localhost:10001;TableEndpoint=http://account1.table.localhost:10002;
Kom inte åt standardkontot på det här sättet med Azure Storage Explorer. Det finns en bugg som gör att Storage Explorer alltid lägger till kontonamn i URL-sökvägen, vilket orsakar fel.
När du använder Azurite med en URL i produktionsstil ska kontonamnet som standard vara värdnamnet i ett fullständigt domännamn, till exempel http://devstoreaccount1.blob.localhost:10000/container. Om du vill använda url i produktionsformat med kontonamnet i URL-sökvägen, till exempel http://foo.bar.com:10000/devstoreaccount1/container, måste du använda parametern --disableProductStyleUrl när du startar Azurite.
Om du använder host.docker.internal som URI-värd för begäran (till exempel http://host.docker.internal:10000/devstoreaccount1/container) hämtar Azurite kontonamnet från begärande-URI-sökvägen. Det här beteendet gäller oavsett om du använder parametern --disableProductStyleUrl när du startar Azurite.
Skalning och prestanda
Azurite stöder inte ett stort antal anslutna klienter. Det finns ingen prestandagaranti. Azurite är avsett för utveckling och testning.
Felhantering
Azurite är i linje med Azure Storages felhanteringslogik, men det finns skillnader. Felmeddelanden kan till exempel vara olika, medan felstatuskoderna överensstämmer.
RA-GRS
Azurite stöder geo-redundant replikering med läsåtkomst (RA-GRS). För lagringsresurser får du åtkomst till den sekundära platsen genom att lägga till -secondary till kontonamnet. Följande adress kan till exempel användas för att komma åt en blob med hjälp av den skrivskyddade sekundära adressen i Azurite:
http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt
Tabellstöd
Stöd för tabeller i Azurite finns för närvarande i förhandsversion. Mer information finns i projektet Azurite V3 Table.
Stöd för varaktiga funktioner kräver tabeller.
Viktigt!
Azurite-stöd för Table Storage finns för närvarande i FÖRHANDSVERSION. Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Azurite är öppen källkod
Bidrag och förslag för Azurite är välkomna. Gå till sidan Azurite GitHub-projekt eller GitHub-problem för milstolpar och arbetsobjekt som vi spårar för kommande funktioner och felkorrigeringar. Detaljerade arbetsobjekt spåras också i GitHub.
Arbetsytestruktur
Följande filer och mappar kan skapas på arbetsytans plats när Azurite initieras.
-
__blobstorage__– Katalog som innehåller Azurite blob-tjänstens lagrade binära data -
__queuestorage__– Katalog som innehåller binärdata lagrade av Azurite-kötjänst -
__tablestorage__– Katalog som innehåller Azurite-tabelltjänstens lagrade binära data -
__azurite_db_blob__.json– Metadatafil för Azurite Blob Service -
__azurite_db_blob_extent__.json– Metadatafil för Azurite blobtjänstens omfattning -
__azurite_db_queue__.json– Metadatafil för Azurite-kötjänsten -
__azurite_db_queue_extent__.json– Metadatafil för Azurite-kötjänstutbredning -
__azurite_db_table__.json– Metadatafil för Azurite-tabelltjänsten -
__azurite_db_table_extent__.json– Metadatafil för Azurite-tabelltjänstens omfattning
Om du vill rensa Azurite tar du bort filerna och mapparna och startar om emulatorn.
Nästa steg
- Installera och kör Azurite-emulatorn beskriver hur du installerar och kör Azurite på den lokala datorn.
- Anslut till Azurite med SDK:er och verktyg förklarar hur du ansluter till Azurite med hjälp av olika Azure Storage-SDK:er och -verktyg.
- Använd Azure Storage-emulatorn för utveckling och testning av dokument som den äldre Azure Storage-emulatorn ersatt av Azurite.