Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Event Hubs fournit un point de terminaison Kafka que vous pouvez utiliser pour connecter des applications Apache Kafka à un service de streaming managé sans exécuter votre propre cluster. Si vous disposez déjà d’applications de producteur ou de consommateur Kafka, vous pouvez les pointer vers Event Hubs avec des modifications de configuration minimales.
Dans ce démarrage rapide, vous configurez des exemples d’applications de producteur et de consommateur Kafka pour diffuser en continu des données via un espace de noms Event Hubs à l’aide du protocole Apache Kafka.
Note
Cet exemple est disponible sur GitHub.
Prérequis
Pour suivre ce démarrage rapide, vérifiez que vous avez les prérequis suivants :
- Lisez l’article Event Hubs pour Apache Kafka.
- Un abonnement Azure. Si vous n’en avez pas, créez un compte gratuit avant de commencer.
- Créez une machine virtuelle Windows et installez les composants suivants :
- Kit de développement Java (JDK) 1.7+.
- Téléchargez et installez une archive binaire Maven.
- Git.
Créer un espace de noms Azure Event Hubs
Quand vous créez un espace de noms Event Hubs, le point de terminaison Kafka pour l’espace de noms est automatiquement activé. Vous pouvez diffuser des événements à partir de vos applications qui utilisent le protocole Kafka dans Event Hubs. Suivez les instructions pas à pas de l’article Créer un hub d’événements avec le portail Azure pour créer un espace de noms Event Hubs. Si vous utilisez un cluster dédié, consultez Créer un Event Hub et un espace de noms.
Note
Event Hubs pour Kafka n’est pas pris en charge dans le niveau De base.
Envoyer et recevoir des messages avec Kafka dans Event Hubs
Cette section vous montre comment activer une identité managée pour une machine virtuelle et utiliser cette identité pour s’authentifier auprès d’Event Hubs pour Kafka. Ce mécanisme d’authentification est recommandé lors de la connexion à Event Hubs pour Kafka à partir de Azure services de calcul, car il élimine le besoin d’informations d’identification dans votre code.
Activez une identité managée affectée par le système pour votre machine virtuelle. Pour plus d’informations sur la configuration de l’identité managée sur une machine virtuelle, consultez Configurer des identités managées pour les ressources Azure sur une machine virtuelle à l’aide du portail Azure. Les identités managées pour les ressources Azure fournissent aux services Azure une identité automatiquement gérée dans Microsoft Entra ID. Vous pouvez utiliser cette identité pour vous authentifier auprès de n’importe quel service prenant en charge l’authentification Microsoft Entra, sans avoir d’informations d’identification dans votre code.
À l'aide de la page Contrôle d'accès de l'espace de noms Event Hubs que vous avez créé, affectez le rôle Azure Event Hubs Data Owner à l'identité managée de la machine virtuelle. Azure Event Hubs prend en charge l’utilisation de Microsoft Entra ID pour autoriser les requêtes de ressources Event Hubs. Avec Microsoft Entra ID, vous pouvez utiliser Azure contrôle d’accès en fonction du rôle (Azure RBAC) pour accorder des autorisations à un principal de sécurité, qui peut être un utilisateur ou un principal de service d’application.
Dans le portail Azure, accédez à votre espace de noms Event Hubs. Accédez à Access Control (IAM) dans le volet de navigation gauche.
Sélectionnez + Ajouter, puis Ajouter une attribution de rôle.
Sous l’onglet Role, sélectionnez Azure Event Hubs Propriétaire des données, puis sélectionnez Next.
Sous l’onglet Membres, sélectionnez l’identité managée dans la section Affecter l’accès à.
Sélectionnez le lien +Sélectionner les membres.
Dans la page Sélectionner des identités managées, procédez comme suit :
Sélectionnez l’abonnement Azure qui a la machine virtuelle.
Pour l’identité managée, sélectionnez Machine virtuelle.
Sélectionnez l’identité managée de votre machine virtuelle.
Sélectionnez Sélectionner au bas de la page.
Sélectionnez Vérifier + attribuer.
Redémarrez la machine virtuelle et reconnectez-vous à la machine virtuelle pour laquelle vous avez configuré l’identité managée.
Clonez le dépôt Azure Event Hubs pour Kafka.
Accédez à
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer.Basculez vers le dossier
src/main/resources/, puis ouvrezconsumer.config. Remplaceznamespacenamepar le nom de votre espace de noms Event Hub.bootstrap.servers=NAMESPACENAME.servicebus.windows.net:9093 security.protocol=SASL_SSL sasl.mechanism=OAUTHBEARER sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required; sasl.login.callback.handler.class=CustomAuthenticateCallbackHandler;Note
Vous trouverez ici tous les exemples OAuth applicables à Event Hubs pour Kafka.
Revenez au dossier Consommateur où se trouve le
pom.xmlfichier et exécutez le code consommateur pour traiter les événements à partir du hub d’événements à l’aide de vos clients Kafka :mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"Lancez une autre fenêtre d’invite de commandes et accédez à
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer.Basculez vers le dossier
src/main/resources/, puis ouvrezproducer.config. Remplacezmynamespacepar le nom de votre espace de noms Event Hub.Revenez au dossier Producteur où se trouve le
pom.xmlfichier et exécutez le code du producteur pour diffuser des événements dans Event Hubs :mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"Vous voyez des messages concernant des événements envoyés dans la fenêtre du producteur. À présent, vérifiez la fenêtre de l’application consommateur pour afficher les messages qu’elle reçoit à partir du Event Hub.
Validation de schéma pour Kafka avec Schema Registry
Vous pouvez utiliser Azure Schema Registry pour effectuer la validation de schémas lorsque vous diffusez des données avec vos applications Kafka en utilisant Event Hubs. Azure Registre de schémas d’Event Hubs fournit un référentiel centralisé pour la gestion des schémas, et vous pouvez connecter en toute transparence vos applications Kafka nouvelles ou existantes à Schema Registry.
Si vous souhaitez obtenir plus d’informations, consultez Valider les schémas pour les applications Apache Kafka avec Avro.
Nettoyer les ressources
Si vous n’avez plus besoin des ressources, supprimez le groupe de ressources et toutes les ressources associées. Dans le portail Azure, sélectionnez le groupe de ressources de votre espace de noms Event Hubs, puis sélectionnez Delete.
Étapes suivantes
Dans cet article, vous avez appris à diffuser en streaming dans Event Hubs sans changer vos clients de protocole ni exécuter vos propres clusters. Pour en savoir plus, consultez Guide du développeur Apache Kafka pour Azure Event Hubs.