Sortie des rubriques Service Bus à partir d’Azure Stream Analytics

Les files d’attente Service Bus offrent une méthode de communication biunivoque entre l’expéditeur et le destinataire. Les rubriques Service Bus fournissent une forme de communication de type un-à-plusieurs.

Le tableau suivant répertorie les noms de propriétés et leur description pour la création d’une sortie de rubrique Service Bus.

Nom de la propriété Description
Alias de sortie Nom convivial utilisé dans les requêtes pour diriger la sortie de requête vers cette rubrique Service Bus.
Espace de noms Service Bus Conteneur pour un ensemble d’entités de messagerie. En créant un Event Hub, vous avez créé un espace de noms Service Bus.
Nom de la rubrique Les rubriques sont des entités de messagerie qui sont similaires aux files d’attente et aux hubs d’événements. Elles sont conçues pour collecter des flux d’événements à partir d’appareils et de services. Quand une rubrique est créée, elle reçoit également un nom. Les messages envoyés à une rubrique ne sont disponibles que si un abonnement est créé. Assurez-vous donc que la rubrique comprend un ou plusieurs abonnements.
Nom de la stratégie de rubrique Lorsque vous créez une rubrique Service Bus, vous pouvez également créer des stratégies d’accès partagé dans l’onglet Configurer de la rubrique. Chaque stratégie d’accès partagé a un nom, les autorisations que vous définissez ainsi que des clés d’accès.
Clé de la stratégie de rubrique Clé d’accès partagé qui permet d’authentifier l’accès à l’espace de noms Service Bus.
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.
Encodage Si vous utilisez le format CSV ou JSON, vous devez spécifier un encodage. UTF-8 est le seul format de codage actuellement pris en charge.
Délimiteur Applicable uniquement pour la sérialisation CSV. Stream Analytics prend en charge un certain nombre de délimiteurs communs pour sérialiser des données dans un format CSV. Valeurs prises en charge : virgule, point-virgule, espace, tabulation et barre verticale.
Colonnes de propriété facultatif. Colonnes séparées par des virgules qui doivent être jointes en tant que propriétés de l’utilisateur du message sortant au lieu de la charge utile. Vous trouverez plus d’informations sur cette fonctionnalité dans la section Propriétés de métadonnées personnalisées pour la sortie.
Colonnes de propriétés système facultatif. Paires clé/valeur de propriétés système et noms de colonnes correspondants qui doivent être attachés au message sortant au lieu de la charge utile.

Le nombre de partitions est basé sur la référence Service Bus et sa taille. La clé de partition est une valeur entière unique pour chaque partition.

Partitionnement

Le partitionnement est choisi automatiquement. Le nombre de partitions est basé sur la référence Service Bus et sa taille. La clé de partition est une valeur entière unique pour chaque partition. Le nombre de writers de sortie est le même que le nombre de partitions dans la rubrique de sortie.

Taille de lot de sortie

La taille maximale du message est de 256 Ko par message pour le niveau Standard et 1 Mo pour le niveau Premium. Pour plus d’informations, consultez Limites de Service Bus. Pour optimiser, utilisez un seul événement par message.

Propriétés de métadonnées personnalisées pour la sortie

Vous pouvez joindre des colonnes de requête en tant que propriétés de l’utilisateur aux messages sortants. Ces colonnes ne font pas partie de la charge utile. Les propriétés sont présentes sous la forme d’un dictionnaire sur le message de sortie. Clé est le nom de colonne et valeur est 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 des enregistrements et des tableaux.

Dans l’exemple suivant, les champs DeviceId et DeviceStatus sont ajoutés aux métadonnées.

  1. Utilisez la requête suivante :

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Configurez DeviceId,DeviceStatus comme colonnes de propriété dans la sortie.

    Property columns

L’illustration suivante présente les propriétés de message de sortie attendues qui sont inspectées dans un Event Hub à l’aide de Service Bus Explorer.

Event custom properties

Propriétés système

Vous pouvez attacher des colonnes de requête en tant que propriétés système à vos messages sortants de file d’attente ou de rubrique Service Bus. Ces colonnes ne sont pas placées dans la charge utile ; au lieu de cela, la propriété système ServiceBusMessage correspondante est renseignée avec les valeurs de la colonne de requête. Les propriétés système suivantes sont prises en charge : MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

Les valeurs de chaîne de ces colonnes sont analysées en tant que type de valeur de propriété système correspondante et les échecs d’analyse sont traités comme des erreurs de données. Ce champ est fourni sous la forme d’un format d’objet JSON. Les détails relatifs à ce format sont les suivants :

  • Entouré par des accolades {}.
  • Écrit dans des paires clé-valeur.
  • Les clés et les valeurs doivent être des chaînes.
  • La clé est le nom de la propriété système et la valeur est le nom de la colonne de requête.
  • Les clés et les valeurs sont séparées par un signe deux-points.
  • Chaque paire clé-valeur est séparée par une virgule.

Voici comment utiliser cette propriété :

  • Requête : select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Colonnes de propriétés système : { "MessageId": "column1", "PartitionKey": "column2"}

Cela définit le MessageId sur les messages de la file d’attente Service bus avec les valeurs de column1, et PartitionKey est défini avec les valeurs de column2.

Étapes suivantes