Overzicht van de Azure Event Hubs-emulator
De Azure Event Hubs-emulator biedt een lokale ontwikkelervaring voor de Event Hubs-service. U kunt de emulator gebruiken om code te ontwikkelen en te testen op basis van de service in isolatie, zonder cloudinterferentie.
Vergoedingen
De belangrijkste voordelen van het gebruik van de emulator zijn:
- Lokale ontwikkeling: De emulator biedt een lokale ontwikkelervaring, zodat u offline kunt werken en netwerklatentie kunt voorkomen.
- Kostenefficiëntie: met de emulator kunt u uw toepassingen testen zonder dat er cloudgebruikskosten in rekening worden gebracht.
- Geïsoleerde testomgeving: u kunt uw code geïsoleerd testen om ervoor te zorgen dat andere activiteiten in de cloud geen invloed hebben op de tests.
- Geoptimaliseerde interne ontwikkelingslus: u kunt de emulator gebruiken om snel een prototype te maken en uw toepassingen te testen voordat u ze implementeert in de cloud.
Notitie
De Event Hubs-emulator is beschikbaar onder de licentievoorwaarden voor Microsoft-software.
Functies
De emulator biedt deze functies:
- Implementatie in containers: deze wordt uitgevoerd als een Docker-container (op basis van Linux).
- Compatibiliteit tussen platforms: u kunt het gebruiken op elk platform, waaronder Windows, macOS en Linux.
- Configureerbaarheid: U kunt het aantal Event Hubs, partities en andere entiteiten beheren met behulp van de door JSON geleverde configuratie.
- Streaming-ondersteuning: het ondersteunt streaminggebeurtenissen met behulp van Kafka en Advanced Message Queuing Protocol (AMQP).
- Waarneembaarheid: het biedt waarneembaarheidsfuncties, waaronder console- en bestandslogboekregistratie.
Bekende beperkingen
De huidige versie van de emulator heeft de volgende beperkingen:
Wanneer u Kafka gebruikt, zijn alleen producer- en consumer-API's compatibel met de Event Hubs-emulator.
Onder de Kafka-configuratie
securityProtocol
saslmechanism
kunnen alleen de volgende waarden worden gebruikt:SecurityProtocol = SecurityProtocol.SaslPlaintext, SaslMechanism = SaslMechanism.Plain
Het biedt geen ondersteuning voor on-the-fly beheerbewerkingen via een SDK aan de clientzijde.
Notitie
Nadat een container opnieuw is opgestart, blijven gegevens en entiteiten niet behouden in de emulator.
Verschillen met de cloudservice
Omdat de Event Hubs-emulator alleen bedoeld is voor ontwikkelings- en testdoeleinden, zijn er functionele verschillen tussen de emulator en de cloudservice.
De emulator biedt geen ondersteuning voor deze functies op hoog niveau:
- Azure-functies zoals integratie van virtuele netwerken, Integratie van Microsoft Entra-id's, activiteitenlogboeken en een UI-portal
- Event Hubs capture
- Functies voor resourcebeheer, zoals toepassingsgroepen
- Mogelijkheden voor automatisch schalen
- Mogelijkheden voor herstel na geo-noodgeval
- Schemaregisterintegratie
- Visuele metrische gegevens en waarschuwingen
Notitie
De emulator is uitsluitend bedoeld voor ontwikkelings- en testscenario's. We ontmoedigen elk soort productiegebruik. We bieden geen officiële ondersteuning voor de emulator.
Meld eventuele problemen of suggesties in de GitHub-installatieopslagplaats van de emulator.
Gebruiksquota
Net als de Event Hubs-cloudservice biedt de emulator de volgende quota voor gebruik:
Eigenschappen | Weergegeven als | Gebruiker configureerbaar binnen limieten |
---|---|---|
Aantal ondersteunde naamruimten | 1 | Nee |
Maximum aantal Event Hubs in een naamruimte | 10 | Ja |
Maximum aantal consumentengroepen in een Event Hub | 20 | Ja |
Maximum aantal partities in een Event Hub | 32 | Ja |
Maximale grootte van een gebeurtenis die wordt gepubliceerd naar een Event Hub (batch/nonbatch) | 1 MB | Nee |
Minimale bewaartijd voor gebeurtenissen | 1 uur | Nee |
Wijzigingen in quotumconfiguratie
De emulator wordt standaard uitgevoerd met het config.json-configuratiebestand . U kunt de quota configureren die zijn gekoppeld aan Event Hubs door dit bestand op de volgende manieren te bewerken, op basis van uw behoeften:
- Entiteiten: U kunt meer entiteiten (Event Hubs) toevoegen met een aangepast aantal partities en consumentengroepen, in overeenstemming met ondersteunde quota.
- Logboekregistratie: De emulator ondersteunt logboekregistratie op een console, in een bestand of beide. U kunt kiezen op basis van uw persoonlijke voorkeur.
Belangrijk
U moet eventuele wijzigingen in de JSON-configuratie opgeven voordat u de emulator uitvoert. Wijzigingen worden niet direct gehonoreerd. Als de wijzigingen van kracht worden, moet u de container opnieuw starten.
U kunt de naam van de vooraf ingestelde naamruimte (name
) niet wijzigen in het configuratiebestand.
Logboeken voor foutopsporing
Tijdens het testen helpen console- of bestandslogboeken u bij het opsporen van onverwachte fouten. De logboeken bekijken:
- Consolelogboeken: Selecteer in de docker-bureaubladgebruikersinterface de containernaam.
- Bestandslogboeken: Ga in de container naar /home/app/EmulatorLogs.