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
- Desktop Docker
- Minimální požadavky na hardware:
- 2 GB paměti RAM
- 5 GB místa na disku
- konfigurace Subsystém Windows pro Linux (WSL) (pouze pro Windows):
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:
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'
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.
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.