Поделиться через


Тестирование локально с помощью эмулятора Центры событий 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