Uitvoer van Service Bus-onderwerpen van Azure Stream Analytics
Service Bus-wachtrijen bieden een een-op-een-communicatiemethode van afzender tot ontvanger. Service Bus-onderwerpen bieden een een-op-veel-vorm van communicatie.
De volgende tabel bevat de eigenschapsnamen en de bijbehorende beschrijvingen voor het maken van een Service Bus-onderwerpuitvoer.
Eigenschapsnaam | Omschrijving |
---|---|
Uitvoeralias | Een beschrijvende naam die wordt gebruikt in query's om de queryuitvoer naar dit Service Bus-onderwerp te leiden. |
Service Bus-naamruimte | Een container voor een set berichtenentiteiten. Wanneer u een nieuwe Event Hub hebt gemaakt, hebt u ook een Service Bus-naamruimte gemaakt. |
Onderwerpnaam | Onderwerpen zijn berichtenentiteiten, vergelijkbaar met Event Hubs en wachtrijen. Ze zijn ontworpen om gebeurtenisstromen van apparaten en services te verzamelen. Wanneer een onderwerp wordt gemaakt, krijgt het ook een specifieke naam. De berichten die naar een onderwerp worden verzonden, zijn alleen beschikbaar als er een abonnement is gemaakt, dus zorg ervoor dat er een of meer abonnementen onder het onderwerp vallen. |
Onderwerpbeleidsnaam | Wanneer u een Service Bus-onderwerp maakt, kunt u ook beleid voor gedeelde toegang maken op het tabblad Configureren van het onderwerp. Elk beleid voor gedeelde toegang heeft een naam, machtigingen die u instelt en toegangssleutels. |
Onderwerpbeleidssleutel | De gedeelde toegangssleutel die wordt gebruikt om toegang tot de Service Bus-naamruimte te verifiëren. |
Serialisatie-indeling voor gebeurtenissen | De serialisatie-indeling voor uitvoergegevens. JSON, CSV en Avro worden ondersteund. |
Codering | Als u een CSV- of JSON-indeling gebruikt, moet er een codering worden opgegeven. UTF-8 is momenteel de enige ondersteunde coderingsindeling. |
Scheidingsteken | Alleen van toepassing op CSV-serialisatie. Stream Analytics ondersteunt een aantal algemene scheidingstekens voor het serialiseren van gegevens in CSV-indeling. Ondersteunde waarden zijn komma's, puntkomma's, spatiebalk, tabblad en verticale balk. |
Eigenschapskolommen | Optioneel. Door komma's gescheiden kolommen die moeten worden gekoppeld als gebruikerseigenschappen van het uitgaande bericht in plaats van de nettolading. Meer informatie over deze functie vindt u in de sectie Aangepaste metagegevenseigenschappen voor uitvoer. |
Kolommen voor systeemeigenschap | Optioneel. Sleutel-waardeparen van systeemeigenschappen en bijbehorende kolomnamen die moeten worden gekoppeld aan het uitgaande bericht in plaats van de nettolading. |
Het aantal partities is gebaseerd op de Service Bus-SKU en de grootte. De partitiesleutel is een unieke geheel getalwaarde voor elke partitie.
Partitionering
Partitionering wordt automatisch gekozen. Het aantal partities is gebaseerd op de Service Bus-SKU en de grootte. De partitiesleutel is een unieke geheel getalwaarde voor elke partitie. Het aantal schrijvers van uitvoer is hetzelfde als het aantal partities in het uitvoeronderwerp.
Grootte van uitvoerbatch
De maximale berichtgrootte is 256 kB per bericht voor de Standard-laag en 1 MB voor de Premium-laag. Zie Service Bus-limieten voor meer informatie. Gebruik één gebeurtenis per bericht om te optimaliseren.
Eigenschappen van aangepaste metagegevens voor uitvoer
U kunt querykolommen als gebruikerseigenschappen toevoegen aan uitgaande berichten. Deze kolommen gaan niet naar de nettolading. De eigenschappen zijn aanwezig in de vorm van een woordenlijst in het uitvoerbericht. De sleutel is de kolomnaam en waarde is de kolomwaarde in de woordenlijst met eigenschappen. Alle Stream Analytics-gegevenstypen worden ondersteund, behalve Record en Matrix.
In het volgende voorbeeld worden de velden DeviceId
toegevoegd aan DeviceStatus
de metagegevens.
Gebruik de volgende query:
select *, DeviceId, DeviceStatus from iotHubInput
Configureren
DeviceId,DeviceStatus
als eigenschapskolommen in de uitvoer.
De volgende afbeelding is van de verwachte eigenschappen van het uitvoerbericht die zijn geïnspecteerd in EventHub met behulp van Service Bus Explorer.
Systeemeigenschappen
U kunt querykolommen als systeemeigenschappen toevoegen aan uw uitgaande servicebuswachtrij of onderwerpberichten.
Deze kolommen gaan niet naar de nettolading in plaats daarvan dat de bijbehorende ServiceBusMessage-systeemeigenschap wordt gevuld met de querykolomwaarden.
Deze systeemeigenschappen worden ondersteund - MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc
.
Tekenreekswaarden van deze kolommen worden geparseerd als bijbehorend type systeemeigenschapswaarde en eventuele parseerfouten worden behandeld als gegevensfouten. Dit veld wordt geleverd als een JSON-objectindeling. Details over deze indeling zijn als volgt:
- Omgeven door accolades {}.
- Geschreven in sleutel-/waardeparen.
- Sleutels en waarden moeten tekenreeksen zijn.
- De sleutel is de naam van de systeemeigenschap en de waarde is de naam van de querykolom.
- Sleutels en waarden worden gescheiden door een dubbele punt.
- Elk sleutel-waardepaar wordt gescheiden door een komma.
Dit laat zien hoe u deze eigenschap gebruikt :
- Query:
select *, column1, column2 INTO queueOutput FROM iotHubInput
- Kolommen van systeemeigenschap:
{ "MessageId": "column1", "PartitionKey": "column2"}
Hiermee stelt u de berichten in de MessageId
Service Bus-wachtrij met column1
de waarden van de servicebus in en wordt PartitionKey ingesteld met column2
de waarden.
Volgende stappen
- Quickstart: Een Stream Analytics-taak maken met behulp van Azure Portal
- Quickstart: Een Azure Stream Analytics-taak maken met behulp van de Azure CLI
- Quickstart: Een Azure Stream Analytics-taak maken met behulp van een ARM-sjabloon
- Quickstart: Een Stream Analytics-taak maken met behulp van Azure PowerShell
- Quickstart: Een Azure Stream Analytics-taak maken met behulp van Visual Studio
- Quickstart: Een Azure Stream Analytics-taak maken in Visual Studio Code