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 securityProtocolsaslmechanism 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.

Te limity są wymuszane przez emulator. Chociaż niektóre wartości można konfigurować przy użyciu config.json, nie można przekroczyć wymienionych wartości maksymalnych. Przed uruchomieniem emulatora należy wprowadzić wszelkie zmiany konfiguracji.

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