Uitvoer van Service Bus-wachtrijen van Azure Stream Analytics
Service Bus-wachtrijen bieden een FIFO-berichtbezorging aan een of meer concurrerende consumenten. Berichten worden meestal ontvangen en verwerkt door de ontvangers in de tijdelijke volgorde waarin ze aan de wachtrij zijn toegevoegd. Elk bericht wordt ontvangen en verwerkt door slechts één berichtgebruiker.
In compatibiliteitsniveau 1.2 maakt Azure Stream Analytics gebruik van het AMQP-berichtenprotocol (Advanced Message Queueing Protocol) om te schrijven naar Service Bus-wachtrijen en -onderwerpen. Met AMQP kunt u platformoverschrijdende, hybride toepassingen bouwen met behulp van een open standaardprotocol.
Uitvoerconfiguratie
De volgende tabel bevat de eigenschapsnamen en de bijbehorende beschrijvingen voor het maken van een wachtrijuitvoer.
Eigenschapsnaam | Omschrijving |
---|---|
Uitvoeralias | Een beschrijvende naam die wordt gebruikt in query's om de queryuitvoer naar deze Service Bus-wachtrij te leiden. |
Service Bus-naamruimte | Een container voor een set berichtenentiteiten. |
Wachtrijnaam | De naam van de Service Bus-wachtrij. |
Naam van wachtrijbeleid | Wanneer u een wachtrij maakt, kunt u ook beleid voor gedeelde toegang maken op het tabblad Configureren van de wachtrij. Elk beleid voor gedeelde toegang heeft een naam, machtigingen die u instelt en toegangssleutels. |
Wachtrijbeleidssleutel | 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 | Voor CSV en JSON is UTF-8 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. |
Format | Alleen van toepassing op JSON-type. Regel gescheiden geeft aan dat de uitvoer is opgemaakt door elk JSON-object gescheiden door een nieuwe regel. Als u Regel gescheiden selecteert, wordt de JSON één object tegelijk gelezen. De hele inhoud zelf zou geen geldige JSON zijn. Matrix geeft aan dat de uitvoer is opgemaakt als een matrix van JSON-objecten. |
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. 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 de uitvoerwachtrij.
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
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor