使用 Azure 事件中樞 模擬器在本機測試
本文摘要說明使用 Azure 事件中樞 模擬器在本機開發和測試的步驟。
必要條件
- Docker Desktop
- 最低硬體需求:
- 2 GB 的 RAM
- 5 GB 的磁碟空間
- Windows 子系統 Linux 版 (WSL) 設定 (僅適用於 Windows):
注意
繼續本文中的步驟之前,請確定 Docker Desktop 在背景中正常運作。
執行模擬器
若要執行事件中樞模擬器,您可以使用自動化腳本或 Linux 容器:
執行自動化腳本之前,請先在本機複製模擬器的 GitHub 安裝程式存放庫 。
Windows
使用下列步驟在 Windows 本機執行事件中樞模擬器:
在 PowerShell 視窗中執行此指令,以允許執行未簽署的文稿:
$>Start-Process powershell -Verb RunAs -ArgumentList 'Set-ExecutionPolicy Bypass –Scope CurrentUser'
執行安裝程式腳本 LaunchEmulator.ps1。 執行腳本會產生兩個容器:事件中樞模擬器和 Azurite (模擬器的相依性)。
Linux 與 macOS
若要在Linux或macOS上本機執行事件中樞模擬器:
- 執行安裝文稿 LaunchEmulator.sh。執行腳本會產生兩個容器:事件中樞模擬器和 Azurite (模擬器的相依性)。
步驟成功之後,您可以找到在 Docker 中執行的容器。
與模擬器互動
根據預設,模擬器會使用 config.json 組態檔。 您可以對組態檔進行變更來設定實體(事件中樞/Kafka 主題)。 若要深入瞭解,請造訪 進行設定變更
您可以使用下列 連接字串 來連線到事件中樞模擬器:
- 當模擬器容器和互動應用程式以原生方式在本機電腦上執行時,請使用下列 連接字串:
"Endpoint=sb://localhost;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
- 不同電腦上的應用程式(容器化/非容器化)和相同的局域網路可以使用計算機的IPv4 位址與模擬器互動。 使用下列 連接字串:
"Endpoint=sb://192.168.y.z;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
- 相同網橋網路上的應用程式容器可以使用其別名或IP與模擬器互動。 下列 連接字串 假設模擬器名稱的預設值為“eventhubs-emulator”:
"Endpoint=sb://eventhubs-emulator;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
- 不同網橋網路上的應用程式容器可以使用 「host.docker.internal」 作為主機與模擬器互動。 使用下列 連接字串:
"Endpoint=sb://host.docker.internal;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;"
與 Kafka 互動時,請務必設定產生者和取用者設定,如下所示:
{
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
};
BootstrapServers 和 SaslPassword 的值取決於您的設定拓撲。 如需詳細資訊,請參閱與模擬器互動一節。
重要
使用 Kafka 時,只有生產者和取用者 API 與事件中樞模擬器相容。
若要開始使用,請參閱 GitHub 上的事件中樞模擬器範例。