Freigeben über


Ausführen lokaler Tests mithilfe des Azure Service Bus-Emulators

In diesem Artikel werden die Schritte zum lokalen Entwickeln und Testen mithilfe des Azure Service Bus-Emulators zusammengefasst.

Voraussetzungen

Hinweis

Stellen Sie sicher, dass Docker Desktop im Hintergrund ausgeführt wird, bevor Sie mit den Schritten in diesem Artikel fortfahren.

Ausführen des Emulators

Zum Ausführen des Service Bus-Emulators können Sie ein automatisiertes Skript oder einen Linux-Container verwenden:

Klonen Sie vor dem Ausführen eines automatisierten Skripts das GitHub-Installer-Repository des Emulators lokal.

Windows

Führen Sie die folgenden Schritte aus, um den Service Bus-Emulator lokal unter Windows auszuführen:

  1. Führen Sie den folgenden Befehl im PowerShell-Fenster aus, um die Ausführung nicht signierter Skripts zuzulassen:

    $>Start-Process powershell -Verb RunAs -ArgumentList 'Set-ExecutionPolicy Bypass –Scope CurrentUser'

  2. Führen Sie das Setupskript LaunchEmulator.ps1 aus. Wenn Sie das Skript ausführen, werden zwei Container angezeigt: der Service Bus-Emulator und SQL Edge (eine Abhängigkeit für den Emulator).

Linux und macOS

So führen Sie den Service Bus-Emulator lokal unter Linux oder macOS aus:

  • Führen Sie das Setupskript LaunchEmulator.sh aus. Wenn Sie das Skript ausführen, werden zwei Container angezeigt: der Service Bus-Emulator und SQL Edge (eine Abhängigkeit für den Emulator).

Nach erfolgreicher Ausführung der Schritte werden die Container in Docker ausgeführt.

Screenshot: Ausführung des Service Bus-Emulators in einem Container.

Interagieren mit dem Emulator

Standardmäßig verwendet der Emulator die Konfigurationsdatei config.json. Sie können Entitäten konfigurieren, indem Sie Änderungen an der Konfigurationsdatei vornehmen. Weitere Informationen finden Sie unter Vornehmen von Konfigurationsänderungen

Sie können die folgende Verbindungszeichenfolge verwenden, um eine Verbindung mit dem Service Bus-Emulator herzustellen:

  • Wenn der Emulatorcontainer und die interagierende Anwendung nativ auf dem lokalen Computer ausgeführt werden, verwenden Sie die folgende Verbindungszeichenfolge:
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Anwendungen (containerisiert/nicht containerisiert) auf dem anderen Computer und dem gleichen lokalen Netzwerk können mit dem Emulator interagieren, indem die IPv4-Adresse des Computers verwendet wird. Verwenden Sie die folgende Verbindungszeichenfolge:
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Anwendungscontainer im selben Brückennetzwerk können mit dem Emulator mithilfe des Alias oder der IP interagieren. Die folgende Verbindungszeichenfolge setzt voraus, dass der Name des Emulatorcontainers „servicebus-emulator“ lautet:
"Endpoint=sb://servicebus-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Anwendungscontainer im anderen Brückennetzwerk können mit dem Emulator interagieren, indem „host.docker.internal“ als Host verwendet wird. Verwenden Sie die folgende Verbindungszeichenfolge:
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"

Sie können die neuesten Client-SDKs verwenden, um mit dem Service Bus-Emulator in verschiedenen Programmiersprachen zu interagieren. Informationen zu den ersten Schritten finden Sie in den Service Bus-Emulatorbeispielen auf GitHub.

Übersicht über den Azure Service Bus-Emulator