Ö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 dusaslmechanism
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.