Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Azurite Open-Source-Emulator bietet eine kostenlose lokale Umgebung zum Testen Ihrer cloudbasierten Anwendungen. Wenn Sie mit der lokalen Funktionsweise Ihrer Anwendung zufrieden sind, wechseln Sie zu einem Azure Storage-Konto in der Cloud.
Azurite ist ein einfacher Speicheremulator, der in JavaScript geschrieben wurde und auf Node.js ausgeführt wird, der den Azure Storage-Dienst für die lokale Entwicklung simuliert. Es unterstützt die Blob-, Warteschlangen- und Tabellenspeicherdienste und bietet plattformübergreifende Unterstützung unter Windows, Linux und macOS. Hilfe zum Installieren und Ausführen von Azurite finden Sie unter Installieren und Ausführen des Azurite-Emulators.
Azurite ermöglicht entwicklern auch das Ausführen von Tests mit einer lokalen Speicherumgebung, die das Verhalten von Azure simuliert, was für integrations- und End-to-End-Tests von entscheidender Bedeutung ist. Weitere Informationen zur Verwendung von Azurite für automatisierte Tests finden Sie unter Use Azurite to run automated tests.
Azurite ersetzt den Azure Storage-Emulator und wird weiterhin aktualisiert, um die neuesten Versionen von Azure Storage-APIs zu unterstützen.
Unterschiede zwischen Azurite und Azure Storage
Es gibt funktionale Unterschiede zwischen einer lokalen Instanz von Azurite und einem Azure Storage-Konto in der Cloud.
Von Bedeutung
Azurite unterstützt nur die Blob-, Warteschlangen- und Tabellenspeicherdienste. Azure Files oder Azure Data Lake Storage Gen2 werden nicht unterstützt, bietet aber plattformübergreifende Unterstützung unter Windows, Linux und macOS.
Endpunkt- und Verbindungs-URL
Die Dienstendpunkte für Azurite unterscheiden sich von den Endpunkten eines Azure Storage-Kontos. Auf dem lokalen Computer wird keine Auflösung von Domänennamen ausgeführt, sodass Azurite-Endpunkte lokale Adressen sein müssen.
Wenn Sie eine Ressource in einem Azure Storage-Konto adressiert haben, ist der Kontoname Teil des URI-Hostnamens. Die adressete Ressource ist Teil des URI-Pfads:
<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>
Der folgende URI ist eine gültige Adresse für ein BLOB in einem Azure Storage-Konto:
https://myaccount.blob.core.windows.net/mycontainer/myblob.txt
URL im IP-Stil
Da auf dem lokalen Computer keine Domänennamen aufgelöst werden, ist der Kontoname Teil des URI-Pfads anstelle des Hostnamens. Verwenden Sie das folgende URI-Format für eine Ressource in Azurite:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Die folgende Adresse kann für den Zugriff auf ein Blob in Azurite verwendet werden:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
URL im Produktionsstil
Optional können Sie Ihre Hostdatei so ändern, dass sie auf ein Konto mit der URL im Produktionsstil zugreifen kann.
Fügen Sie zuerst ihrer Hostdatei eine oder mehrere Zeilen hinzu. Beispiel:
127.0.0.1 account1.blob.localhost
127.0.0.1 account1.queue.localhost
127.0.0.1 account1.table.localhost
Legen Sie als Nächstes Umgebungsvariablen fest, um angepasste Speicherkonten und Schlüssel zu aktivieren:
set AZURITE_ACCOUNTS="account1:key1:key2"
Sie könnten weitere Konten hinzufügen. Weitere Informationen finden Sie im Abschnitt "Benutzerdefinierte Speicherkonten und Schlüssel " des Artikels "Connect to Azurite ".
Starten Sie Azurite, und verwenden Sie eine angepasste Verbindungszeichenfolge, um auf Ihr Konto zuzugreifen. Im folgenden Beispiel wird von der Verbindungszeichenfolge davon ausgegangen, dass die Standardports verwendet werden.
DefaultEndpointsProtocol=http;AccountName=account1;AccountKey=key1;BlobEndpoint=http://account1.blob.localhost:10000;QueueEndpoint=http://account1.queue.localhost:10001;TableEndpoint=http://account1.table.localhost:10002;
Greifen Sie nicht auf dieses Standardkonto mit Dem Azure Storage-Explorer zu. Es liegt ein Fehler vor, dass der Speicher-Explorer immer den Kontonamen im URL-Pfad hinzufügt, was zu Fehlern führt.
Bei Verwendung von Azurite mit einer URL im Produktionsstil sollte der Kontoname standardmäßig der Hostname im vollqualifizierten Domänennamen sein, z http://devstoreaccount1.blob.localhost:10000/container
. B. . Um die URL im Produktionsstil mit dem Kontonamen im URL-Pfad zu verwenden, z http://foo.bar.com:10000/devstoreaccount1/container
. B. müssen Sie den --disableProductStyleUrl
Parameter verwenden, wenn Sie Azurite starten.
Wenn Sie als Anforderungs-URI-Host (z. B.: http://host.docker.internal:10000/devstoreaccount1/container
) Azureite den Kontonamen aus dem Anforderungs-URI-Pfad abrufenhost.docker.internal
. Dieses Verhalten gilt unabhängig davon, ob Sie den --disableProductStyleUrl
Parameter verwenden, wenn Sie Azurite starten.
Skalierung und Leistung
Azurite unterstützt keine große Anzahl verbundener Kunden. Es gibt keine Leistungsgarantie. Azurite ist für Entwicklungs- und Testzwecke vorgesehen.
Fehlerbehandlung
Azurite ist an der Azure Storage-Fehlerbehandlungslogik ausgerichtet, aber es gibt Unterschiede. Fehlermeldungen können z. B. unterschiedlich sein, während Fehlerstatuscodes ausgerichtet sind.
RA-GRS
Azurite unterstützt die georedundante Replikation mit Lesezugriff (RA-GRS). Greifen Sie für Speicherressourcen auf den sekundären Speicherort zu, indem Sie den Kontonamen anfügen -secondary
. Beispielsweise kann die folgende Adresse für den Zugriff auf ein Blob mithilfe der schreibgeschützten sekundären In Azurite verwendet werden:
http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt
Tabellenunterstützung
Die Unterstützung für Tabellen in Azurite befindet sich derzeit in der Vorschau. Weitere Informationen finden Sie im Projekt Azurite V3 Table .
Für die Unterstützung dauerhafter Funktionen sind Tabellen erforderlich.
Von Bedeutung
Die Azurite-Unterstützung für Tabellenspeicher befindet sich derzeit in DER VORSCHAU. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Azurite ist Open Source
Beiträge und Vorschläge für Azurite sind willkommen. Wechseln Sie zur Azureite GitHub-Projektseite oder GitHub-Probleme für Meilensteine und Arbeitsaufgaben, die wir für anstehende Features und Fehlerbehebungen nachverfolgen. Detaillierte Arbeitsaufgaben werden auch in GitHub nachverfolgt.
Arbeitsbereichsstruktur
Die folgenden Dateien und Ordner können beim Initialisieren von Azurite am Arbeitsbereichsort erstellt werden.
-
__blobstorage__
- Verzeichnis, das den Azurite-BLOB-Dienst enthält, gespeicherte Binärdaten -
__queuestorage__
- Verzeichnis mit Azurite-Warteschlangendienst gespeicherte Binärdaten -
__tablestorage__
- Verzeichnis mit Azurite-Tabellendienst gespeicherte Binärdaten -
__azurite_db_blob__.json
- Azureite Blob-Dienst-Metadatendatei -
__azurite_db_blob_extent__.json
- Azureite-Blob-Dienst-Metadatendatei für das Ausmaß der Metadaten -
__azurite_db_queue__.json
- Azureite-Warteschlangendienst-Metadatendatei -
__azurite_db_queue_extent__.json
- Azureite-Warteschlangendienst-Metadatendatei für das Ausmaß der Metadaten -
__azurite_db_table__.json
- Azureite-Tabellendienst-Metadatendatei -
__azurite_db_table_extent__.json
- Azureite-Tabellendienst-Metadatendatei
Um Azurite zu bereinigen, löschen Sie die Dateien und Ordner, und starten Sie den Emulator neu.
Nächste Schritte
- Die Installation und Ausführung des Azurite-Emulators beschreibt, wie Sie Azurite auf Ihrem lokalen Computer installieren und ausführen.
- Herstellen einer Verbindung mit Azurite mit SDKs und Tools erklärt, wie Sie mithilfe verschiedener Azure Storage SDKs und Tools eine Verbindung mit Azurite herstellen können.
- Verwenden Sie den Azure Storage-Emulator zum Entwickeln und Testen von Dokumenten des älteren Azure Storage-Emulators, der von Azurite abgelöst wird.