Dela via


Översikt över Azure Event Hubs-emulatorn

Azure Event Hubs-emulatorn är ett lokalt utvecklingsverktyg som hjälper utvecklare att testa och prototypa Event Hubs-program i en offlinemiljö, kostnadseffektiv och isolerad miljö. Emulatorn simulerar Event Hubs-tjänsten lokalt, vilket möjliggör snabbare utvecklingscykler, eliminerar molnrelaterade kostnader och tillhandahåller en kontrollerad testmiljö. Den här artikeln innehåller en översikt över emulatorns fördelar, funktioner, begränsningar och användningsriktlinjer som hjälper dig att komma igång.

Benefits

De främsta fördelarna med att använda emulatorn är:

  • Lokal utveckling: Emulatorn ger en lokal utvecklingsupplevelse, så att du kan arbeta offline och undvika nätverksfördröjning.
  • Kostnadseffektivitet: Med emulatorn kan du testa dina program utan att medföra några kostnader för molnanvändning.
  • Isolerad testmiljö: Du kan testa koden isolerat för att säkerställa att andra aktiviteter i molnet inte påverkar testerna.
  • Optimerad inre utvecklingsloop: Du kan använda emulatorn för att snabbt prototypera och testa dina program innan du distribuerar dem till molnet.

Features

Emulatorn innehåller följande funktioner:

  • Containerbaserad distribution: Den körs som en Docker-container (Linux-baserad).
  • Plattformsoberoende kompatibilitet: Du kan använda den på valfri plattform, inklusive Windows, macOS och Linux.
  • Konfigurerbarhet: Du kan hantera antalet händelsehubbar, partitioner och andra entiteter med hjälp av den JSON-angivna konfigurationen.
  • Stöd för strömning: Den stöder strömmande händelser med kafka och Advanced Message Queuing Protocol (AMQP).
  • Observerbarhet: Det ger observerbarhetsfunktioner, inklusive konsol- och filloggning.

Known limitations

Den aktuella versionen av emulatorn har följande begränsningar:

  • När du använder Kafka är endast producent- och konsument-API:er kompatibla med Event Hubs-emulatorn.

  • Under Kafka-konfiguration securityProtocol kan du saslmechanism bara ha följande värden:

      SecurityProtocol = SecurityProtocol.SaslPlaintext,
      SaslMechanism = SaslMechanism.Plain
    
  • Det stöder inte direkt hanteringsåtgärder via en SDK på klientsidan.

Note

Efter en omstart av en container sparas inte data och entiteter i emulatorn.

Skillnader mellan emulatorn och molntjänsten

Eftersom Event Hubs-emulatorn endast är avsedd för utveckling och test finns det funktionella skillnader mellan emulatorn och molntjänsten.

Emulatorn stöder inte dessa funktioner på hög nivå:

  • Azure-funktioner som integrering av virtuella nätverk, Integrering av Microsoft Entra-ID, aktivitetsloggar och en användargränssnittsportal
  • Inspelning i Händelsehubbar
  • Resursstyrningsfunktioner som programgrupper
  • Autoscale capabilities
  • Funktioner för geo-haveriberedskap
  • Schemaregisterintegrering
  • Visuella mått och aviseringar

Note

Emulatorn är endast avsedd för utvecklings- och testscenarier. Vi avråder från alla typer av produktionsanvändning. Vi tillhandahåller inget officiellt stöd för emulatorn.

Rapportera eventuella problem eller förslag på emulatorns GitHub-installationsplats.

Usage quotas

Precis som Event Hubs i Azure tillhandahåller emulatorn följande kvoter för användning:

Property Value Användaren kan konfigureras inom gränser
Antal namnområden som stöds 1 No
Maximalt antal händelsehubbar i ett namnområde 10 Yes
Maximalt antal konsumentgrupper i en händelsehubb 20 Yes
Maximalt antal partitioner i en händelsehubb 32 Yes
Maximal storlek för en händelse som publiceras till en händelsehubb (batch/nonbatch) 1 MB No
Minsta tid för kvarhållning av händelser 1 hr No

Emulatorn tillämpar dessa gränser. Vissa värden kan konfigureras med hjälp av config.json, men du kan inte överskrida de angivna maxvärdena. Eventuella konfigurationsändringar måste göras innan emulatorn startas.

Ändringar i kvotkonfigurationen

Som standard körs emulatorn med konfigurationsfilen config.json . Du kan konfigurera de kvoter som är associerade med Event Hubs genom att redigera den här filen på följande sätt, baserat på dina behov:

  • Entiteter: Du kan lägga till fler entiteter (händelsehubbar) med ett anpassat antal partitioner och konsumentgrupper i enlighet med kvoter som stöds.
  • Loggning: Emulatorn stöder loggning på en konsol, i en fil eller både och. Du kan välja enligt dina personliga önskemål.

Important

Du måste ange ändringar i JSON-konfigurationen innan du kör emulatorn. Ändringar respekteras inte i farten. För att ändringarna ska börja gälla måste du starta om containern.

Du kan inte byta namn på det förinställda namnområdet (name) i konfigurationsfilen.

Loggar för felsökning

Under testning hjälper konsol- eller filloggar dig att felsöka oväntade fel. Så här granskar du loggarna:

  • Konsolloggar: I Användargränssnittet för Docker-skrivbordet väljer du containernamnet.
  • Filloggar: I containern går du till /home/app/EmulatorLogs.

Testa lokalt med hjälp av Azure Event Hubs-emulatorn