Vue d’ensemble de l’émulateur Azure Event Hubs
L’émulateur Azure Event Hubs offre une expérience de développement locale pour le service Event Hubs. Vous pouvez utiliser l’émulateur pour développer et tester du code sur le service en isolation, sans interférences cloud.
Avantages
Les principaux avantages de l’utilisation de l’émulateur sont les suivants :
- Développement local : l’émulateur offre une expérience de développement local, vous permettant de travailler hors connexion et d’éviter une latence du réseau.
- Rentabilité : avec l’émulateur, vous pouvez tester vos applications sans entraîner de coûts d’utilisation du cloud.
- Environnement de test isolé : vous pouvez tester votre code de manière isolée, pour vous assurer que d’autres activités n’affectent pas les tests.
- Boucle de développement interne optimisée : utilisez l’émulateur pour prototyper et tester rapidement vos applications avant de les déployer dans le cloud.
Remarque
L’émulateur Event Hubs est disponible sous Termes du contrat de licence logiciel Microsoft.
Fonctionnalités
L’émulateur fournit ces fonctionnalités :
- Déploiement conteneurisé : il s’exécute en tant que conteneur Docker (basé sur Linux).
- Compatibilité multiplateforme : vous pouvez l’utiliser sur n’importe quelle plateforme, y compris Windows, macOS et Linux.
- Configuration : vous pouvez gérer le nombre de hubs d’événements, de partitions et d’autres entités à l’aide de la configuration fournie par JSON.
- Prise en charge de la diffusion en continu : elle prend en charge la diffusion en continu d'événements à l'aide de Kafka et du protocole AMQP (Advanced Message Queuing Protocol).
- Observabilité : il fournit des fonctionnalités d’observabilité, notamment la journalisation sur console et fichier.
Limitations connues
La version actuelle de l’émulateur présente les limitations suivantes :
Lorsque vous utilisez Kafka, seules les API producteur et consommateur sont compatibles avec l’émulateur Event Hubs.
Dans la configuration Kafka,
securityProtocol
etsaslmechanism
ne peuvent avoir que les valeurs suivantes :SecurityProtocol = SecurityProtocol.SaslPlaintext, SaslMechanism = SaslMechanism.Plain
Il ne prend pas en charge les opérations de gestion immédiate avec un SDK côté client.
Remarque
Après le redémarrage d’un conteneur, les données et les entités ne sont pas conservées dans l’émulateur.
Différences par rapport au service cloud
Étant donné que l’émulateur Event Hubs est destiné uniquement à des fins de développement et de test, il existe des différences fonctionnelles entre l’émulateur et le service cloud.
L’émulateur ne prend pas en charge ces fonctionnalités générales :
- Fonctionnalités Azure telles que l’intégration de réseau virtuel, l’intégration Microsoft Entra ID, les journaux d’activité et un portail d’interface utilisateur
- Event Hubs Capture
- Fonctionnalités de gouvernance des ressources telles que les groupes d’applications
- Fonctionnalités de mise à l’échelle automatique
- Géo-reprise d'activité après sinistre
- Intégration du registre de schémas
- Métriques visuelles et alertes
Remarque
L’émulateur est destiné uniquement aux scénarios de développement et de test. Nous déconseillons tout type d’utilisation de production. Nous ne fournissons aucune prise en charge officielle de l’émulateur.
Signalez les problèmes ou suggestions dans le référentiel d’installation GitHub de l’émulateur.
Quotas d'utilisation
Comme le service cloud Event Hubs, l’émulateur fournit les quotas suivants pour l’utilisation :
Propriété | Valeur | Configurable par l’utilisateur dans certaines limites |
---|---|---|
Nombre d’espaces de noms pris en charge | 1 | Non |
Nombre maximal d’Event Hubs dans un espace de noms | 10 | Oui |
Nombre maximal de groupes de consommateurs dans un Event Hub | 20 | Oui |
Nombre maximal de partitions dans un Event Hub | 32 | Oui |
Taille maximale d’un événement publié sur un Event Hub (lot/sans lot) | 1 Mo | Non |
Durée minimale de rétention des événements | 1 h | Non |
Modifications de configuration de quotas
Par défaut, l’émulateur s’exécute avec le fichier de configuration config.json. Vous pouvez configurer les quotas associés à Event Hubs en modifiant ce fichier de la manière suivante, en fonction de vos besoins :
- Entités : vous pouvez ajouter d’autres entités (Event Hubs), avec un nombre personnalisé de partitions et de groupes de consommateurs, conformément aux quotas pris en charge.
- Enregistrement : l’émulateur prend en charge la journalisation sur une console, dans un fichier ou les deux. Vous pouvez choisir selon vos préférences personnelles.
Important
Vous devez fournir les modifications apportées à la configuration JSON avant d’exécuter l’émulateur. Les modifications ne sont pas respectées immédiatement. Pour que les modifications prennent effet, vous devez redémarrer le conteneur.
Vous ne pouvez pas renommer l’espace de noms prédéfini (name
) dans le fichier de configuration.
Journaux d’activité pour le débogage
Pendant les tests, les journaux de console ou de fichiers vous aident à déboguer des échecs inattendus. Pour vérifier les journaux :
- Journaux de console : dans l’interface utilisateur du bureau Docker, sélectionnez le nom du conteneur.
- Journaux de fichiers : dans le conteneur, accédez à /home/app/EmulatorLogs.