Freigeben über


Service Bus Topics-Ausgabe aus Azure Stream Analytics

ServiceBus-Warteschlangen bieten eine 1:1-Kommunikationsmethode von Absender zu Empfänger. ServiceBus-Themen bieten eine 1:n-Form der Kommunikation.

In der folgenden Tabelle sind die Eigenschaftennamen und deren Beschreibungen zum Erstellen einer Service Bus-Themenausgabe aufgeführt.

Eigenschaftsname Beschreibung
Ausgabealias Ein Anzeigename, der in Abfragen verwendet wird, um die Abfrageausgabe an dieses Service Bus-Thema zu leiten.
Namensraum Service Bus Ein Container für eine Reihe von Nachrichtenentitäten. Wenn Sie einen neuen Ereignishub erstellt haben, haben Sie auch einen Service Bus-Namespace erstellt.
Themaname Themen sind Messagingentitäten, ähnlich wie Event Hubs und Warteschlangen. Sie sind so konzipiert, dass Ereignisdatenströme von Geräten und Diensten erfasst werden. Wenn ein Thema erstellt wird, erhält es auch einen bestimmten Namen. Die an ein Thema gesendeten Nachrichten sind nur verfügbar, wenn ein Abonnement erstellt wurde. Stellen Sie daher sicher, dass ein oder mehrere Abonnements unter dem Thema vorhanden sind.
Name der Themenrichtlinie Wenn Sie ein Service Bus-Thema erstellen, können Sie auch freigegebene Zugriffsrichtlinien auf der Registerkarte " Konfigurieren " des Themas erstellen. Jede Richtlinie für den freigegebenen Zugriff verfügt über einen Namen, berechtigungen, die Sie festlegen, und Zugriffstasten.
Themenrichtlinienschlüssel Der freigegebene Zugriffsschlüssel, der zum Authentifizieren des Zugriffs auf den Service Bus-Namespace verwendet wird.
Ereignisserialisierungsformat Das Serialisierungsformat für Ausgabedaten. JSON, CSV und Avro werden unterstützt.
Codieren Wenn Sie das CSV- oder JSON-Format verwenden, muss eine Codierung angegeben werden. UTF-8 ist derzeit das einzige unterstützte Codierungsformat.
Trennzeichen Gilt nur für die CSV-Serialisierung. Stream Analytics unterstützt eine Reihe gängiger Trennzeichen zum Serialisieren von Daten im CSV-Format. Unterstützte Werte sind Komma, Semikolon, Leerzeichen, Tabstopps und vertikale Balken.
Eigenschaftenspalten Dies ist optional. Durch Trennzeichen getrennte Spalten, die anstelle der Nutzlast als Benutzereigenschaften der ausgehenden Nachricht angefügt werden müssen. Weitere Informationen zu diesem Feature finden Sie im Abschnitt Benutzerdefinierte Metadateneigenschaften für die Ausgabe.
Systemeigenschaftenspalten Dies ist optional. Schlüsselwertpaare von Systemeigenschaften und entsprechenden Spaltennamen, die an die ausgehende Nachricht angefügt werden müssen, anstelle der Nutzlast.

Die Anzahl der Partitionen basiert auf der ServiceBus-SKU und -Größe. Der Partitionsschlüssel ist ein eindeutiger ganzzahliger Wert für jede Partition.

Partitionierung

Die Partitionierung wird automatisch ausgewählt. Die Anzahl der Partitionen basiert auf der ServiceBus-SKU und -Größe. Der Partitionsschlüssel ist ein eindeutiger ganzzahliger Wert für jede Partition. Die Anzahl der Ausgabeautoren entspricht der Anzahl der Partitionen im Ausgabethema.

Ausgabebatchgröße

Die maximale Nachrichtengröße beträgt 256 KB pro Nachricht für die Standardebene und 1 MB für die Premium-Stufe. Weitere Informationen finden Sie unter ServiceBus-Grenzwerte. Verwenden Sie zum Optimieren ein einzelnes Ereignis pro Nachricht.

Benutzerdefinierte Metadateneigenschaften für die Ausgabe

Sie können Abfragespalten als Benutzereigenschaften an Ihre ausgehenden Nachrichten anfügen. Diese Spalten gehen nicht in die Nutzlast ein. Die Eigenschaften sind in Form eines Wörterbuchs in der Ausgabemeldung vorhanden. Schlüssel ist der Spaltenname und -wert der Spaltenwert im Eigenschaftenwörterbuch. Alle Stream Analytics-Datentypen werden mit Ausnahme von Record und Array unterstützt.

Im folgenden Beispiel werden die Felder DeviceId und DeviceStatus den Metadaten hinzugefügt.

  1. Verwenden Sie die folgende Abfrage:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Konfigurieren Sie DeviceId,DeviceStatus als Eigenschaftenspalten in der Ausgabe.

    Eigenschaftenspalten

Die folgende Abbildung enthält die erwarteten Ausgabenachrichteneigenschaften, die in EventHub mithilfe des Service Bus-Explorers überprüft werden.

Benutzerdefinierte Ereigniseigenschaften

Systemeigenschaften

Sie können Abfragespalten als Systemeigenschaften an Ihre ausgehende Servicebuswarteschlange oder Themennachrichten anfügen. Diese Spalten gehen nicht in die Nutzlast, sondern die entsprechende ServiceBusMessage-Systemeigenschaft wird mit den Abfragespaltenwerten aufgefüllt. Diese Systemeigenschaften werden unterstützt - MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

Zeichenfolgenwerte dieser Spalten werden als entsprechender Systemeigenschaftswerttyp analysiert, und alle Analysefehler werden als Datenfehler behandelt. Dieses Feld wird als JSON-Objektformat bereitgestellt. Details zu diesem Format sind wie folgt:

  • Umgeben von geschweiften Klammern {}.
  • Geschrieben in Schlüssel-Wert-Paaren.
  • Schlüssel und Werte müssen Zeichenfolgen sein.
  • Der Schlüssel ist der Name der Systemeigenschaft und der Wert ist der Name der Abfragespalte.
  • Schlüssel und Werte werden durch einen Doppelpunkt getrennt.
  • Jedes Schlüssel-Wert-Paar wird durch ein Komma getrennt.

Dies zeigt, wie Diese Eigenschaft verwendet wird –

  • Abfrage: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • Systemeigenschaftenspalten: { "MessageId": "column1", "PartitionKey": "column2"}

Dadurch werden die Nachrichten für MessageId Servicebuswarteschlangen mit column1den Werten 's und PartitionKey' mit column2den Werten festgelegt.

Nächste Schritte