Sdílet prostřednictvím


Místní testování pomocí emulátoru služby Azure Event Hubs

Tento článek shrnuje kroky pro místní vývoj a testování pomocí emulátoru služby Azure Event Hubs.

Požadavky

Poznámka:

Než budete pokračovat v krocích v tomto článku, ujistěte se, že je Docker Desktop funkční na pozadí.

Spuštění emulátoru

Ke spuštění emulátoru služby Event Hubs můžete použít automatizovaný skript nebo kontejner Linuxu:

Před spuštěním automatizovaného skriptu naklonujte místně úložiště instalačního programu GitHubu emulátoru.

Windows

Pomocí následujících kroků spusťte emulátor služby Event Hubs místně ve Windows:

  1. Spuštěním tohoto příkazu v okně PowerShellu povolte provádění nepodepsaných skriptů:

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

  2. Spusťte instalační skript LaunchEmulator.ps1. Spuštění skriptu zobrazí dva kontejnery: emulátor služby Event Hubs a Azurite (závislost pro emulátor).

Linux a macOS

Místní spuštění emulátoru služby Event Hubs v Linuxu nebo macOS:

  • Spusťte instalační skript LaunchEmulator.sh. Spuštění skriptu zobrazí dva kontejnery: emulátor služby Event Hubs a Azurite (závislost pro emulátor).

Po úspěšném provedení kroků najdete kontejnery spuštěné v Dockeru.

Snímek obrazovky znázorňující emulátor služby Event Hubs spuštěný v kontejneru

Interakce s emulátorem

Ve výchozím nastavení emulátor používá konfigurační soubor config.json . Entity (témata Event Hubs nebo Kafka) můžete nakonfigurovat provedením změn konfiguračního souboru. Další informace najdete v tématu Provedení změn konfigurace.

K připojení k emulátoru služby Event Hubs můžete použít následující připojovací řetězec:

  • Pokud kontejner emulátoru a interakce aplikace běží nativně na místním počítači, použijte následující připojovací řetězec:
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Aplikace (kontejnerizované nebo nekotenerizované) na jiném počítači a stejné místní síti můžou komunikovat s emulátorem pomocí adresy IPv4 počítače. Použijte následující připojovací řetězec:
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Kontejnery aplikací ve stejné síti mostu můžou komunikovat s emulátorem pomocí svého aliasu nebo IP adresy. Následující připojovací řetězec předpokládá, že název emulátoru má výchozí hodnotu, která je eventhubs-emulator:
"Endpoint=sb://eventhubs-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
  • Kontejnery aplikací v jiné síti mostu můžou komunikovat s emulátorem pomocí host.docker.internal jako hostitele. Použijte následující připojovací řetězec:
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"

Při interakci se systémem Kafka nezapomeňte nastavit konfiguraci producenta a příjemce následujícím způsobem:


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

Hodnota BootstrapServers a SaslPassword by závisela na vaší topologii instalace. Podrobnosti najdete v části Interakce s emulátorem .

Důležité

Při použití kafka jsou s emulátorem služby Event Hubs kompatibilní pouze rozhraní API producenta a příjemce.

Napřed si projděte ukázky emulátoru služby Event Hubs na GitHubu.

Přehled emulátoru služby Azure Event Hubs