Testa lokalt med hjälp av Azure Event Hubs-emulatorn
Den här artikeln sammanfattar stegen för att utveckla och testa lokalt med hjälp av Azure Event Hubs-emulatorn.
Förutsättningar
- Docker Desktop
- Minimikrav för maskinvara:
- 2 GB RAM-minne
- 5 GB diskutrymme
- konfiguration av Windows-undersystem för Linux (WSL) (endast för Windows):
Kommentar
Innan du fortsätter med stegen i den här artikeln kontrollerar du att Docker Desktop fungerar i bakgrunden.
Kör emulatorn
Om du vill köra Event Hubs-emulatorn kan du använda ett automatiserat skript eller en Linux-container:
Innan du kör ett automatiserat skript klonar du emulatorns GitHub-installationsplats lokalt.
Windows
Använd följande steg för att köra Event Hubs-emulatorn lokalt i Windows:
Tillåt körning av osignerade skript genom att köra det här kommandot i PowerShell-fönstret:
$>Start-Process powershell -Verb RunAs -ArgumentList 'Set-ExecutionPolicy Bypass –Scope CurrentUser'
Kör installationsskriptet LaunchEmulator.ps1. När skriptet körs skapas två containrar: Event Hubs-emulatorn och Azurite (ett beroende för emulatorn).
Linux och macOS
Så här kör du Event Hubs-emulatorn lokalt i Linux eller macOS:
- Kör installationsskriptet LaunchEmulator.sh. När skriptet körs skapas två containrar: Event Hubs-emulatorn och Azurite (ett beroende för emulatorn).
När stegen har slutförts kan du hitta containrarna som körs i Docker.
Interagera med emulatorn
Som standard använder emulatorn config.json konfigurationsfil. Du kan konfigurera entiteter (Event Hubs/Kafka-ämnen) genom att göra ändringar i konfigurationsfilen. Mer information finns i Göra konfigurationsändringar
Du kan använda följande anslutningssträng för att ansluta till Event Hubs-emulatorn:
- När emulatorcontainern och det interagerande programmet körs internt på den lokala datorn använder du följande anslutningssträng:
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
- Program (containerbaserade/icke-containerbaserade) på den olika datorn och samma lokala nätverk kan interagera med emulatorn med hjälp av datorns IPv4-adress. Använd följande anslutningssträng:
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
- Programcontainrar i samma bryggnätverk kan interagera med emulatorn med hjälp av dess alias eller IP. Följande anslutningssträng förutsätter att namnet på emulatorn har standardvärdet "eventhubs-emulator":
"Endpoint=sb://eventhubs-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
- Programcontainrar i det olika bryggnätverket kan interagera med emulatorn med hjälp av "host.docker.internal" som värd. Använd följande anslutningssträng:
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
När du interagerar med Kafka måste du ange producent- och konsumentkonfigurationen enligt följande:
{
BootstrapServers = //Value of bootstrap servers would depend on kind of connection string being used
SecurityProtocol = SecurityProtocol.SaslPlaintext,
SaslMechanism = SaslMechanism.Plain,
SaslUsername = "$ConnectionString",
SaslPassword = //Value of connection string would depend on topology
};
Värdet för BootstrapServers och SaslPassword beror på din konfigurationstopologi. Mer information finns i Avsnittet Interagera med emulatorn.
Viktigt!
När du använder Kafka är endast producent- och konsument-API:er kompatibla med Event Hubs-emulatorn.
Kom igång genom att läsa Event Hubs-emulatorexempel på GitHub.