Sortie des rubriques Service Bus à partir d’Azure Stream AnalyticsService Bus Topics output from Azure Stream Analytics

Les files d’attente Service Bus offrent une méthode de communication biunivoque entre l’expéditeur et le destinataire.Service Bus queues provide a one-to-one communication method from sender to receiver. Les rubriques Service Bus fournissent une forme de communication de type un-à-plusieurs.Service Bus topics provide a one-to-many form of communication.

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.The following table lists the property names and their descriptions for creating a Service Bus topic output.

Nom de la propriétéProperty name DescriptionDescription
Alias de sortieOutput alias Nom convivial utilisé dans les requêtes pour diriger la sortie de requête vers cette rubrique Service Bus.A friendly name used in queries to direct the query output to this Service Bus topic.
Espace de noms Service BusService Bus namespace Conteneur pour un ensemble d’entités de messagerie.A container for a set of messaging entities. En créant un Event Hub, vous avez créé un espace de noms Service Bus.When you created a new event hub, you also created a Service Bus namespace.
Nom de la rubriqueTopic name Les rubriques sont des entités de messagerie qui sont similaires aux files d’attente et aux hubs d’événements.Topics are messaging entities, similar to event hubs and queues. Elles sont conçues pour collecter des flux d’événements à partir d’appareils et de services.They're designed to collect event streams from devices and services. Quand une rubrique est créée, elle reçoit également un nom.When a topic is created, it's also given a specific name. 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.The messages sent to a topic aren't available unless a subscription is created, so ensure there's one or more subscriptions under the topic.
Nom de la stratégie de rubriqueTopic policy name 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.When you create a Service Bus topic, you can also create shared access policies on the topic's Configure tab. Each shared access policy has a name, permissions that you set, and access keys.
Clé de la stratégie de rubriqueTopic policy key Clé d’accès partagé qui permet d’authentifier l’accès à l’espace de noms Service Bus.The shared access key that's used to authenticate access to the Service Bus namespace.
Format de sérialisation de l’événementEvent serialization format Format de sérialisation pour les données de sortie.The serialization format for output data. JSON, CSV et Avro sont pris en charge.JSON, CSV, and Avro are supported.
EncodageEncoding Si vous utilisez le format CSV ou JSON, vous devez spécifier un encodage.If you're using CSV or JSON format, an encoding must be specified. UTF-8 est le seul format de codage actuellement pris en charge.UTF-8 is the only supported encoding format at this time.
DélimiteurDelimiter Applicable uniquement pour la sérialisation CSV.Applicable only for CSV serialization. Stream Analytics prend en charge un certain nombre de délimiteurs communs pour sérialiser des données dans un format CSV.Stream Analytics supports a number of common delimiters for serializing data in CSV format. Valeurs prises en charge : virgule, point-virgule, espace, tabulation et barre verticale.Supported values are comma, semicolon, space, tab, and vertical bar.
Colonnes de propriétéProperty columns facultatif.Optional. 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.Comma-separated columns that need to be attached as user properties of the outgoing message instead of the payload. Vous trouverez plus d’informations sur cette fonctionnalité dans la section Propriétés de métadonnées personnalisées pour la sortie.More information about this feature is in the section Custom metadata properties for output.
Colonnes de propriétés systèmeSystem Property columns facultatif.Optional. 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.Key value pairs of System Properties and corresponding column names that need to be attached to the outgoing message instead of the payload.

Le nombre de partitions est basé sur la référence Service Bus et sa taille.The number of partitions is based on the Service Bus SKU and size. La clé de partition est une valeur entière unique pour chaque partition.The partition key is a unique integer value for each partition.

PartitionnementPartitioning

Le partitionnement est choisi automatiquement.Partitioning is automatically chosen. Le nombre de partitions est basé sur la référence Service Bus et sa taille.The number of partitions is based on the Service Bus SKU and size. La clé de partition est une valeur entière unique pour chaque partition.The partition key is a unique integer value for each partition. Le nombre de writers de sortie est le même que le nombre de partitions dans la rubrique de sortie.The number of output writers is the same as the number of partitions in the output topic.

Taille de lot de sortieOutput batch size

La taille maximale du message est de 256 Ko par message pour le niveau Standard et 1 Mo pour le niveau Premium.The maximum message size is 256 KB per message for Standard tier and 1MB for Premium tier. Pour plus d’informations, consultez Limites de Service Bus.For more information, see Service Bus limits. Pour optimiser, utilisez un seul événement par message.To optimize, use a single event per message.

Propriétés de métadonnées personnalisées pour la sortieCustom metadata properties for output

Vous pouvez joindre des colonnes de requête en tant que propriétés de l’utilisateur aux messages sortants.You can attach query columns as user properties to your outgoing messages. Ces colonnes ne font pas partie de la charge utile.These columns don't go into the payload. Les propriétés sont présentes sous la forme d’un dictionnaire sur le message de sortie.The properties are present in the form of a dictionary on the output message. Clé est le nom de colonne et valeur est la valeur de la colonne dans le dictionnaire de propriétés.Key is the column name and value is the column value in the properties dictionary. Tous les types de données Stream Analytics sont pris en charge à l’exception des enregistrements et des tableaux.All Stream Analytics data types are supported except Record and Array.

Dans l’exemple suivant, les champs DeviceId et DeviceStatus sont ajoutés aux métadonnées.In the following example, the fields DeviceId and DeviceStatus are added to the metadata.

  1. Utilisez la requête suivante :Use the following query:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Configurez DeviceId,DeviceStatus comme colonnes de propriété dans la sortie.Configure DeviceId,DeviceStatus as property columns in the output.

    Colonnes de propriété

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.The following image is of the expected output message properties inspected in EventHub using Service Bus Explorer.

Propriétés personnalisées d’événement

Propriétés systèmeSystem properties

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.You can attach query columns as system properties to your outgoing service bus Queue or Topic messages. Ces colonnes ne sont pas placées dans la charge utile ; au lieu de cela, la propriété système BrokeredMessage correspondante est renseignée avec les valeurs de la colonne de requête.These columns don't go into the payload instead the corresponding BrokeredMessage system property is populated with the query column values. Les propriétés système suivantes sont prises en charge : MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.These system properties are supported - 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.String values of these columns are parsed as corresponding system property value type and any parsing failures are treated as data errors. Ce champ est fourni sous la forme d’un format d’objet JSON.This field is provided as a JSON object format. Les détails relatifs à ce format sont les suivants :Details about this format are as follows:

  • Entouré par des accolades {}.Surrounded by curly braces {}.
  • Écrit dans des paires clé-valeur.Written in key/value pairs.
  • Les clés et les valeurs doivent être des chaînes.Keys and values must be strings.
  • La clé est le nom de la propriété système et la valeur est le nom de la colonne de requête.Key is the system property name and value is the query column name.
  • Les clés et les valeurs sont séparées par un signe deux-points.Keys and values are separated by a colon.
  • Chaque paire clé-valeur est séparée par une virgule.Each key/value pair is separated by a comma.

Voici comment utiliser cette propriété :This shows how to use this property –

  • Requête : select *, column1, column2 INTO queueOutput FROM iotHubInputQuery: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Colonnes de propriétés système : { "MessageId": "column1", "PartitionKey": "column2"}System Property Columns: { "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.This sets the MessageId on service bus queue messages with column1's values and PartitionKey is set with column2's values.

Étapes suivantesNext steps