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.
Le service Azure Event Hubs est un ingesteur d’événements de publication et d’abonnement hautement évolutif. Il peut collecter des millions d’événements par seconde. L’une des utilisations d’un hub d’événements comme sortie est lorsque la sortie d’un travail Stream Analytics devient l’entrée d’un autre travail de streaming. Pour plus d’informations sur la taille maximale des messages et l’optimisation de la taille du lot, consultez la section Taille du lot de sortie .
Configuration de la sortie
Le tableau suivant présente les paramètres nécessaires pour configurer les flux de données à partir d’event hubs en tant que sortie.
| Nom de la propriété | Description |
|---|---|
| Alias de sortie | Nom convivial utilisé dans les requêtes pour diriger la sortie de la requête vers ce hub d’événements. |
| Espace de noms du hub d’événements | Conteneur pour un ensemble d’entités de messagerie. Lorsque vous avez créé un hub d’événements, vous avez également créé un espace de noms Event Hub. |
| Nom du hub d’événements | Nom de votre sortie event Hub. |
| Nom de la stratégie Event Hub | Stratégie d’accès partagé, que vous pouvez créer sous l’onglet Configurer du hub d’événements. Chaque stratégie d’accès partagé a un nom, des autorisations que vous définissez et des clés d’accès. |
| Clé de stratégie Event Hub | Clé d’accès partagé utilisée pour authentifier l’accès à l’espace de noms event Hub. |
| Colonne clé de partition | Optionnel. Colonne qui contient la clé de partition pour la sortie du hub d’événements. |
| Format de sérialisation de l’événement | Format de sérialisation pour les données de sortie. JSON, CSV et Avro sont pris en charge. |
| Codage | Pour CSV et JSON, UTF-8 est le seul format d’encodage pris en charge pour l’instant. |
| Délimiteur | Applicable uniquement pour la sérialisation CSV. Stream Analytics prend en charge un certain nombre de délimiteurs courants pour sérialiser des données au format CSV. Les valeurs prises en charge sont des virgules, des points-virgules, de l’espace, de l’onglet et de la barre verticale. |
| Format | Applicable uniquement pour la sérialisation JSON. Ligne séparée spécifie que la sortie est mise en forme en ayant chaque objet JSON séparé par une nouvelle ligne. Si vous sélectionnez Ligne séparée, le JSON est lu un objet à la fois. Tout le contenu lui-même ne serait pas un JSON valide. Le tableau spécifie que la sortie est mise en forme en tant que tableau d’objets JSON. |
| Colonnes de propriétés | Optionnel. Colonnes séparées par des virgules qui doivent être jointes en tant que propriétés utilisateur du message sortant au lieu de la charge utile. Pour plus d’informations sur cette fonctionnalité, consultez la section Propriétés de métadonnées personnalisées pour la sortie. |
Partitionnement
Le partitionnement varie en fonction de l’alignement de la partition. Lorsque la clé de partition pour la sortie du hub d’événements est également alignée avec l’étape de requête en amont (précédente), le nombre d’enregistreurs est identique au nombre de partitions dans la sortie du hub d’événements. Chaque enregistreur utilise la classe EventHubSender pour envoyer des événements à la partition spécifique. Lorsque la clé de partition pour la sortie du hub d’événements n’est pas alignée avec l’étape de requête en amont (précédente), le nombre d’enregistreurs est identique au nombre de partitions de cette étape précédente. Chaque enregistreur utilise la classe SendBatchAsync dans EventHubClient pour envoyer des événements à toutes les partitions de sortie.
Taille du lot de sortie
La taille maximale du message est de 256 Ko ou 1 Mo par message. Pour plus d’informations, consultez les limites d’Event Hubs. Lorsque le partitionnement d’entrée/sortie n’est pas aligné, chaque événement est emballé individuellement EventData et envoyé dans un lot pouvant atteindre la taille maximale du message. Cela se produit également si les propriétés de métadonnées personnalisées sont utilisées. Lorsque le partitionnement d’entrée/sortie est aligné, plusieurs événements sont empaquetés dans une seule EventData instance, jusqu’à la taille maximale du message et envoyées.
Propriétés de métadonnées personnalisées pour la sortie
Vous pouvez attacher des colonnes de requête en tant que propriétés utilisateur à vos messages sortants. Ces colonnes ne sont pas entrées dans la charge utile. Les propriétés sont présentes sous la forme d’un dictionnaire sur le message de sortie. La clé est le nom de colonne et la valeur de la colonne dans le dictionnaire de propriétés. Tous les types de données Stream Analytics sont pris en charge, à l’exception de l’enregistrement et du tableau.
Dans l’exemple suivant, les champs DeviceId et DeviceStatus sont ajoutés aux métadonnées.
Utilisez la requête suivante :
select *, DeviceId, DeviceStatus from iotHubInputConfigurez
DeviceId,DeviceStatusen tant que colonnes de propriété dans la sortie.
L’image suivante est des propriétés de message de sortie attendues inspectées dans un hub d’événements à l’aide de Service Bus Explorer.
Exactement une fois la livraison
Une fois la remise prise en charge dans la sortie Event Hubs par défaut. Quelle que soit votre entrée, Stream Analytics ne garantit aucune perte de données ni aucun doublon dans une sortie Event Hubs, entre les redémarrages initiés par l’utilisateur à partir de la dernière heure de sortie, ce qui empêche les doublons d’être générés. Cela simplifie considérablement le pipeline de diffusion en continu en n’ayant pas à surveiller, implémenter et résoudre les problèmes de logique de déduplication.