Dela via


Översikt över Azure Event Hubs-emulatorn

Azure Event Hubs-emulatorn erbjuder en lokal utvecklingsupplevelse för Event Hubs-tjänsten. Du kan använda emulatorn för att utveckla och testa kod mot tjänsten isolerat, utan molninterferens.

Förmåner

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.

Kommentar

Event Hubs-emulatorn är tillgänglig enligt Licensvillkoren för Programvara från Microsoft.

Funktioner

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.

Kända begränsningar

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.

Kommentar

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

Skillnader från 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
  • Event Hubs-avbildning
  • Resursstyrningsfunktioner som programgrupper
  • Autoskalningsfunktioner
  • Funktioner för geo-haveriberedskap
  • Schemaregisterintegrering
  • Visuella mått och aviseringar

Kommentar

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.

Användningskvoter

Precis som Event Hubs-molntjänsten tillhandahåller emulatorn följande kvoter för användning:

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

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

Viktigt!

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