Dela via


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

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:

  1. 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'

  2. 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.

Skärmbild som visar Event Hubs-emulatorn som körs i en container.

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.

Översikt över Azure Event Hubs-emulatorn