共用方式為


使用 Azure 事件中樞 模擬器在本機測試

本文摘要說明使用 Azure 事件中樞 模擬器在本機開發和測試的步驟。

必要條件

注意

繼續本文中的步驟之前,請確定 Docker Desktop 在背景中正常運作。

執行模擬器

若要執行事件中樞模擬器,您可以使用自動化腳本或 Linux 容器:

執行自動化腳本之前,請先在本機複製模擬器的 GitHub 安裝程式存放庫

Windows

使用下列步驟在 Windows 本機執行事件中樞模擬器:

  1. 在 PowerShell 視窗中執行此指令,以允許執行未簽署的文稿:

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

  2. 執行安裝程式腳本 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 上的事件中樞模擬器範例。

Azure 事件中樞 模擬器概觀