Ausgabe von Service Bus-Themen für Azure Stream Analytics
Service Bus-Warteschlangen bieten eine 1:1-Kommunikationsmethode vom Sender zum Empfänger. Service Bus-Themen bieten eine 1:N-Kommunikationsmethode.
Die folgende Tabelle enthält die Eigenschaftennamen und die entsprechenden Beschreibungen zum Erstellen einer Service Bus-Themenausgabe.
Eigenschaftenname | BESCHREIBUNG |
---|---|
Ausgabealias | Ein Anzeigename, der in Abfragen verwendet wird, um die Abfrageausgabe an dieses Service Bus-Thema weiterzuleiten. |
Service Bus-Namespace | Ein Container für einen Satz von Nachrichtenentitäten. Sie haben bei der Erstellung eines neuen Event Hubs auch einen Service Bus-Namespace erstellt. |
Themenname | Themen sind Messagingentitäten, vergleichbar mit Event Hubs und Warteschlangen. Sie wurden für die Erfassung von Ereignisstreams von Geräten und Diensten entwickelt. Wenn ein Thema erstellt wird, wird ihm auch ein bestimmter Name zugewiesen. Die an ein Thema gesendeten Nachrichten sind nur verfügbar, wenn ein Abonnement erstellt wurde. Stellen Sie daher sicher, dass es mindestens ein Abonnement unter dem Thema gibt. |
Name der Themenrichtlinie | Beim Erstellen eines Service Bus-Themas können Sie auf der Registerkarte Konfigurieren des Themas entsprechende Richtlinien für den gemeinsamen Zugriff erstellen. Jede SAS-Richtlinie umfasst einen Namen, die von Ihnen festgelegten Berechtigungen und Zugriffsschlüssel. |
Schlüssel der Themenrichtlinie | Der Schlüssel für den gemeinsamen Zugriff, der für die Authentifizierung des Zugriffs auf den Service Bus-Namespace verwendet wird. |
Ereignisserialisierungsformat | Das Serialisierungsformat für Ausgabedaten. Es werden JSON, CSV und Avro unterstützt. |
Codieren | Bei Verwendung des CSV- oder JSON-Formats 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 von üblichen Trennzeichen zum Serialisieren der Daten im CSV-Format. Unterstützte Werte sind Komma, Semikolon, Leerzeichen, Tabstopp und senkrechter Strich. |
Eigenschaftenspalten | Optional. Durch Komma 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. |
Systemeigenschaftsspalten | Optional. Schlüssel-Wert-Paare von Systemeigenschaften und entsprechenden Spaltennamen, die an die ausgehende Nachricht anstatt an die Nutzlast angefügt werden müssen. |
Die Anzahl der Partitionen basiert auf der Service Bus-SKU und -Größe. Der Partitionsschlüssel gibt einen eindeutigen ganzzahligen Wert für jede Partition an.
Partitionierung
Die Partitionierung wird automatisch ausgewählt. Die Anzahl der Partitionen basiert auf der Service Bus-SKU und -Größe. Der Partitionsschlüssel gibt einen eindeutigen ganzzahligen Wert für jede Partition an. Die Anzahl der Ausgabeschreiber entspricht der Anzahl von Partitionen im Ausgabethema.
Ausgabebatchgröße
Die maximale Nachrichtengröße beträgt 256 KB pro Nachricht im Standard-Tarif und 1 MB im Premium-Tarif. Weitere Informationen finden Sie unter Service Bus-Grenzwerte. Verwenden Sie zur Optimierung 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 gelangen nicht in die Nutzlast. Die Eigenschaften liegen in Form eines Wörterbuchs für die Ausgabemeldung vor. Schlüssel ist der Spaltenname und der Wert ist der Spaltenwert im Eigenschaftenwörterbuch. Alle Stream Analytics-Datentypen werden mit Ausnahme von „Datensatz“ und „Array“ unterstützt.
Im folgenden Beispiel werden die Felder DeviceId
und DeviceStatus
zu den Metadaten hinzugefügt.
Verwenden Sie die folgende Abfrage:
select *, DeviceId, DeviceStatus from iotHubInput
Konfigurieren Sie
DeviceId,DeviceStatus
als Eigenschaftenspalten in der Ausgabe.
Die folgende Abbildung zeigt die erwarteten Eigenschaften der Ausgabemeldung, die in EventHub mit dem Service Bus Explorer überprüft wurden.
Systemeigenschaften
Sie können Abfragespalten als Systemeigenschaften an Ihre ausgehenden Service Bus-Warteschlangen- oder Themenmeldungen anfügen.
Diese Spalten werden nicht in die Nutzlast eingefügt. Stattdessen wird die entsprechende ServiceBusMessage-Systemeigenschaft mit den Werten der Abfragespalte aufgefüllt.
Diese Systemeigenschaften werden unterstützt: MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc
.
Zeichenfolgenwerte dieser Spalten werden als entsprechender Systemeigenschaftswert-Typ analysiert, und alle Analysefehler werden als Datenfehler behandelt. Dieses Feld wird im JSON-Objektformat bereitgestellt. Details zu diesem Format:
- 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 hierbei durch einen Doppelpunkt voneinander getrennt.
- Die einzelnen Schlüssel/Wert-Paare sind durch ein Komma voneinander getrennt.
So wird diese Eigenschaft verwendet:
- Abfrage:
select *, column1, column2 INTO queueOutput FROM iotHubInput
- Systemeigenschaftsspalten:
{ "MessageId": "column1", "PartitionKey": "column2"}
Dadurch wird die MessageId
für Service Bus-Warteschlangenmeldungen mit den Werten von column1
und PartitionKey mit column2
-Werten festgelegt.
Nächste Schritte
- Schnellstart: Erstellen eines Stream Analytics-Auftrags mithilfe des Azure-Portals
- Schnellstart: Erstellen eines Azure Stream Analytics-Auftrags mit der Azure CLI
- Schnellstart: Erstellen eines Azure Stream Analytics-Auftrags mithilfe einer ARM-Vorlage
- Schnellstart: Erstellen eines Stream Analytics-Auftrags mit Azure PowerShell
- Schnellstart: Erstellen eines Azure Stream Analytics-Auftrags mithilfe von Visual Studio
- Schnellstart: Erstellen eines Azure Stream Analytics-Auftrags in Visual Studio Code