Udostępnij za pośrednictwem


Testowanie lokalne przy użyciu emulatora usługi Azure Service Bus

W tym artykule podsumowano kroki tworzenia i testowania lokalnego przy użyciu emulatora usługi Azure Service Bus.

Wymagania wstępne

Uwaga

Przed kontynuowaniem kroków opisanych w tym artykule upewnij się, że program Docker Desktop działa w tle.

Uruchamianie emulatora

Aby uruchomić emulator usługi Service Bus, możesz użyć zautomatyzowanego skryptu lub kontenera systemu Linux:

Przed uruchomieniem zautomatyzowanego skryptu sklonuj repozytorium instalatora GitHub emulatora lokalnie.

Windows

Wykonaj następujące kroki, aby uruchomić emulator usługi Service Bus lokalnie w systemie Windows:

  1. Zezwól na wykonywanie niepodpisanych skryptów, uruchamiając to polecenie w oknie programu PowerShell:

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

  2. Uruchom skrypt instalacyjny LaunchEmulator.ps1. Uruchomienie skryptu powoduje wyświetlenie dwóch kontenerów: emulator usługi Service Bus i program Sql Edge (zależność dla emulatora).

Linux i macOS

Aby uruchomić emulator usługi Service Bus lokalnie w systemie Linux lub macOS:

  • Uruchom skrypt konfiguracji LaunchEmulator.sh. Uruchomienie skryptu powoduje wyświetlenie dwóch kontenerów: emulator usługi Service Bus i program Sql Edge (zależność dla emulatora).

Po pomyślnym wykonaniu tych kroków można znaleźć kontenery uruchomione na platformie Docker.

Zrzut ekranu przedstawiający emulator usługi Service Bus uruchomiony w kontenerze.

Interakcja z emulatorem

Domyślnie emulator używa config.json pliku konfiguracji. Jednostki można skonfigurować, wprowadzając zmiany w pliku konfiguracji. Aby dowiedzieć się więcej, odwiedź stronę wprowadzanie zmian konfiguracji

Aby nawiązać połączenie z emulatorem usługi Service Bus, możesz użyć następujących parametry połączenia:

  • Gdy kontener emulatora i aplikacja współdziałają natywnie na komputerze lokalnym, użyj następujących parametry połączenia:
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Aplikacje (konteneryzowane/niekontenerowane) na różnych maszynach i tej samej sieci lokalnej mogą wchodzić w interakcję z emulatorem przy użyciu adresu IPv4 maszyny. Użyj następujących parametry połączenia:
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Kontenery aplikacji w tej samej sieci mostka mogą wchodzić w interakcje z emulatorem przy użyciu aliasu lub adresu IP. Po parametry połączenia przyjęto założenie, że nazwa kontenera emulatora to "servicebus-emulator":
"Endpoint=sb://servicebus-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Kontenery aplikacji w innej sieci mostka mogą współdziałać z emulatorem przy użyciu hosta "host.docker.internal". Użyj następujących parametry połączenia:
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"

Najnowsze zestawy SDK klienta umożliwiają interakcję z emulatorem usługi Service Bus w różnych językach programowania. Aby rozpocząć, zapoznaj się z przykładami emulatora usługi Service Bus w witrynie GitHub.

Omówienie emulatora usługi Azure Service Bus