Delen via


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.

  1. Gebruik de volgende query:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Configureren DeviceId,DeviceStatus als eigenschapskolommen in de uitvoer.

    Property columns

De volgende afbeelding is van de verwachte eigenschappen van het uitvoerbericht die zijn geïnspecteerd in EventHub met behulp van Service Bus Explorer.

Event custom properties

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 column1de waarden van de servicebus in en wordt PartitionKey ingesteld met column2de waarden.

Volgende stappen