Delen via


Lokaal testen met behulp van de Azure Event Hubs-emulator

In dit artikel vindt u een overzicht van de stappen voor het lokaal ontwikkelen en testen met behulp van de Azure Event Hubs-emulator.

Vereisten

Notitie

Voordat u doorgaat met de stappen in dit artikel, moet u ervoor zorgen dat Docker Desktop op de achtergrond operationeel is.

De emulator uitvoeren

Als u de Event Hubs-emulator wilt uitvoeren, kunt u een geautomatiseerd script of een Linux-container gebruiken:

Voordat u een geautomatiseerd script uitvoert, kloont u de GitHub-installatieopslagplaats van de emulator lokaal.

Windows

Gebruik de volgende stappen om de Event Hubs-emulator lokaal uit te voeren in Windows:

  1. Sta de uitvoering van niet-ondertekende scripts toe door deze opdracht uit te voeren in het PowerShell-venster:

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

  2. Voer het installatiescript LaunchEmulator.ps1 uit. Het uitvoeren van het script brengt twee containers met zich mee: de Event Hubs-emulator en De Azure-emulator (een afhankelijkheid voor de emulator).

Linux en macOS

De Event Hubs-emulator lokaal uitvoeren op Linux of macOS:

  • Voer het installatiescript uit LaunchEmulator.sh. Het uitvoeren van het script brengt twee containers met zich mee: de Event Hubs-emulator en De Azure-emulator (een afhankelijkheid voor de emulator).

Nadat de stappen zijn voltooid, kunt u de containers vinden die worden uitgevoerd in Docker.

Schermopname van de Event Hubs-emulator die wordt uitgevoerd in een container.

Interactie met de emulator

De emulator gebruikt standaard config.json configuratiebestand. U kunt entiteiten (Event Hubs/Kafka-onderwerpen) configureren door wijzigingen aan te brengen in het configuratiebestand. Als u meer wilt weten, gaat u naar Configuratiewijzigingen aanbrengen

U kunt de volgende verbindingsreeks gebruiken om verbinding te maken met de Event Hubs-emulator:

  • Gebruik de volgende verbindingsreeks wanneer de emulatorcontainer en interactietoepassing systeemeigen worden uitgevoerd op de lokale computer:
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Toepassingen (Containerized/Niet-containerized) op de verschillende computer en hetzelfde lokale netwerk kunnen communiceren met emulator met behulp van het IPv4-adres van de machine. Gebruik de volgende verbindingsreeks:
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Toepassingscontainers in hetzelfde brugnetwerk kunnen communiceren met Emulator met behulp van de alias of het IP-adres. In het volgende verbindingsreeks wordt ervan uitgegaan dat de naam van de emulator de standaardwaarde heeft die 'eventhubs-emulator' is:
"Endpoint=sb://eventhubs-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Toepassingscontainers in het verschillende brugnetwerk kunnen communiceren met Emulator met behulp van de host.docker.internal. Gebruik de volgende verbindingsreeks:
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"

Zorg er tijdens interactie met Kafka voor dat u de producer- en consumentenconfiguratie als volgt instelt:


        {
            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
        };

De waarde van BootstrapServers en SaslPassword is afhankelijk van uw installatietopologie. Raadpleeg de sectie Interactie met emulator voor meer informatie.

Belangrijk

Wanneer u Kafka gebruikt, zijn alleen Producer- en Consumer-API's compatibel met de Event Hubs-emulator.

Raadpleeg de Event Hubs-emulatorvoorbeelden op GitHub om aan de slag te gaan.

Overzicht van de Azure Event Hubs-emulator