Udostępnij za pośrednictwem


Omówienie emulatora usługi Azure Event Hubs

Emulator usługi Azure Event Hubs oferuje lokalne środowisko programistyczne dla usługi Event Hubs. Możesz użyć emulatora do tworzenia i testowania kodu względem usługi w izolacji, bez zakłóceń w chmurze.

Świadczenia

Podstawowe zalety korzystania z emulatora to:

  • Programowanie lokalne: emulator zapewnia lokalne środowisko programistyczne, dzięki czemu możesz pracować w trybie offline i uniknąć opóźnienia sieci.
  • Efektywność kosztowa: dzięki emulatorowi możesz przetestować aplikacje bez ponoszenia kosztów użycia chmury.
  • Izolowane środowisko testowe: możesz przetestować kod w izolacji, aby upewnić się, że inne działania w chmurze nie wpływają na testy.
  • Zoptymalizowana pętla programowania wewnętrznego: możesz użyć emulatora do szybkiego tworzenia prototypów i testowania aplikacji przed ich wdrożeniem w chmurze.

Uwaga

Emulator usługi Event Hubs jest dostępny w ramach postanowień licencyjnych dotyczących oprogramowania firmy Microsoft.

Funkcje

Emulator udostępnia następujące funkcje:

  • Wdrożenie konteneryzowane: działa jako kontener platformy Docker (oparty na systemie Linux).
  • Zgodność międzyplatformowa: można jej używać na dowolnej platformie, w tym w systemach Windows, macOS i Linux.
  • Możliwość konfigurowania: możesz zarządzać liczbą centrów zdarzeń, partycji i innych jednostek przy użyciu dostarczonej konfiguracji JSON.
  • Obsługa przesyłania strumieniowego: obsługuje zdarzenia przesyłania strumieniowego przy użyciu platformy Kafka i protokołu Advanced Message Queuing Protocol (AMQP).
  • Możliwość obserwowania: zapewnia funkcje obserwacji, w tym konsolę i rejestrowanie plików.

Znane ograniczenia

Bieżąca wersja emulatora ma następujące ograniczenia:

  • W przypadku korzystania z platformy Kafka tylko interfejsy API producentów i konsumentów są zgodne z emulatorem usługi Event Hubs.

  • W obszarze Konfiguracja securityProtocol saslmechanism platformy Kafka mogą mieć tylko następujące wartości:

      SecurityProtocol = SecurityProtocol.SaslPlaintext,
      SaslMechanism = SaslMechanism.Plain
    
  • Nie obsługuje on operacji zarządzania na bieżąco za pośrednictwem zestawu SDK po stronie klienta.

Uwaga

Po ponownym uruchomieniu kontenera dane i jednostki nie są utrwalane w emulatorze.

Różnice w porównaniu z usługą w chmurze

Ponieważ emulator usługi Event Hubs jest przeznaczony tylko do celów programistycznych i testowych, istnieją różnice funkcjonalne między emulatorem a usługą w chmurze.

Emulator nie obsługuje tych funkcji wysokiego poziomu:

  • Funkcje platformy Azure, takie jak integracja z siecią wirtualną, integracja identyfikatora Microsoft Entra, dzienniki aktywności i portal interfejsu użytkownika
  • Przechwytywanie usługi Event Hubs
  • Funkcje ładu zasobów, takie jak grupy aplikacji
  • Możliwości automatycznego skalowania
  • Możliwości odzyskiwania po awarii geograficznej
  • Integracja rejestru schematów
  • Metryki wizualizacji i alerty

Uwaga

Emulator jest przeznaczony wyłącznie dla scenariuszy programowania i testowania. Zniechęcimy do wszelkiego rodzaju zastosowań produkcyjnych. Nie udostępniamy żadnej oficjalnej pomocy technicznej dla emulatora.

Zgłoś wszelkie problemy lub sugestie w repozytorium instalatora GitHub emulatora.

Przydziały użycia

Podobnie jak usługa w chmurze usługi Event Hubs, emulator zapewnia następujące limity przydziału użycia:

Właściwości Wartość Użytkownik można konfigurować w granicach
Liczba obsługiwanych przestrzeni nazw 1 Nie.
Maksymalna liczba centrów zdarzeń w przestrzeni nazw 10 Tak
Maksymalna liczba grup odbiorców w centrum zdarzeń 20 Tak
Maksymalna liczba partycji w centrum zdarzeń 32 Tak
Maksymalny rozmiar zdarzenia publikowanego w centrum zdarzeń (batch/nonbatch) 1 MB Nie.
Minimalny czas przechowywania zdarzeń 1 godz. Nie.

Zmiany konfiguracji limitu przydziału

Domyślnie emulator jest uruchamiany z plikiem konfiguracji config.json . Przydziały skojarzone z usługą Event Hubs można skonfigurować, edytując ten plik w następujący sposób w zależności od potrzeb:

  • Jednostki: można dodać więcej jednostek (centrów zdarzeń) z dostosowaną liczbą partycji i grup odbiorców zgodnie z obsługiwanymi limitami przydziału.
  • Rejestrowanie: emulator obsługuje rejestrowanie w konsoli, w pliku lub obu tych plikach. Możesz wybrać zgodnie z preferencjami osobistymi.

Ważne

Przed uruchomieniem emulatora należy podać wszelkie zmiany w konfiguracji JSON. Zmiany nie są honorowane na bieżąco. Aby zmiany zaczęły obowiązywać, należy ponownie uruchomić kontener.

Nie można zmienić nazwy wstępnie zdefiniowanej przestrzeni nazw (name) w pliku konfiguracji.

Dzienniki debugowania

Podczas testowania dzienniki konsoli lub plików ułatwiają debugowanie nieoczekiwanych błędów. Aby przejrzeć dzienniki:

  • Dzienniki konsoli: w interfejsie użytkownika pulpitu platformy Docker wybierz nazwę kontenera.
  • Dzienniki plików: w kontenerze przejdź do folderu /home/app/EmulatorLogs.

Testowanie lokalnie przy użyciu emulatora usługi Azure Event Hubs