Event Hubs-utdata från Azure Stream Analytics

Den Azure Event Hubs tjänsten är en mycket skalbar publicerings-prenumerera händelse-ingestor. Den kan samla in miljontals händelser per sekund. En användning av en händelsehubb som utdata är när utdata från ett Stream Analytics-jobb blir indata för ett annat strömningsjobb. Information om den maximala meddelandestorleken och batchstorleksoptimeringen finns i avsnittet batchstorlek för utdata .

Konfiguration av utdata

I följande tabell finns de parametrar som behövs för att konfigurera dataströmmar från händelsehubbar som utdata.

Egenskapsnamn Beskrivning
Utdataalias Ett eget namn som används i frågor för att dirigera frågeutdata till den här händelsehubben.
Namnområde för händelsehubb En container för en uppsättning meddelandeentiteter. När du skapade en ny händelsehubb skapade du även ett namnområde för händelsehubben.
Namn på händelsehubb Namnet på händelsehubbens utdata.
Namn på händelsehubbprincip Principen för delad åtkomst, som du kan skapa på fliken Konfigurera för händelsehubben. Varje princip för delad åtkomst har ett namn, behörigheter som du anger och åtkomstnycklar.
Principnyckel för händelsehubb Den delade åtkomstnyckeln som används för att autentisera åtkomst till händelsehubbens namnområde.
Partitionsnyckelkolumn Valfritt. En kolumn som innehåller partitionsnyckeln för händelsehubbens utdata.
Händelseserialiseringsformat Serialiseringsformatet för utdata. JSON, CSV och Avro stöds.
Kodning För CSV och JSON är UTF-8 det enda kodningsformat som stöds just nu.
Avgränsare Gäller endast för CSV-serialisering. Stream Analytics stöder ett antal vanliga avgränsare för serialisering av data i CSV-format. Värden som stöds är kommatecken, semikolon, blanksteg, flik och lodrätt fält.
Format Gäller endast för JSON-serialisering. Radavgränsad anger att utdata formateras genom att varje JSON-objekt avgränsas med en ny rad. Om du väljer Radavgränsad läss JSON ett objekt i taget. Hela innehållet i sig skulle inte vara en giltig JSON. Matrisen anger att utdata formateras som en matris med JSON-objekt.
Egenskapskolumner Valfritt. Kommaavgränsade kolumner som måste kopplas som användaregenskaper för det utgående meddelandet i stället för nyttolasten. Mer information om den här funktionen finns i avsnittet Anpassade metadataegenskaper för utdata.

Partitionering

Partitionering varierar beroende på partitionsjustering. När partitionsnyckeln för händelsehubbens utdata är lika justerad med det överordnade (föregående) frågesteget är antalet skrivare detsamma som antalet partitioner i händelsehubbens utdata. Varje skrivare använder klassen EventHubSender för att skicka händelser till den specifika partitionen. När partitionsnyckeln för händelsehubbens utdata inte är justerad med det överordnade (föregående) frågesteget är antalet skrivare detsamma som antalet partitioner i föregående steg. Varje skrivare använder klassen SendBatchAsync i EventHubClient för att skicka händelser till alla utdatapartitioner.

Batchstorlek för utdata

Den maximala meddelandestorleken är 256 KB eller 1 MB per meddelande. Mer information finns i Event Hubs-gränser. När partitioneringen av indata/utdata inte är justerad packas varje händelse individuellt i EventData och skickas i en batch med upp till den maximala meddelandestorleken. Detta inträffar också om anpassade metadataegenskaper används. När partitioneringen av indata/utdata justeras packas flera händelser i en enda EventData instans, upp till den maximala meddelandestorleken och skickas.

Anpassade metadataegenskaper för utdata

Du kan bifoga frågekolumner som användaregenskaper till dina utgående meddelanden. Dessa kolumner hamnar inte i nyttolasten. Egenskaperna finns i form av en ordlista i utdatameddelandet. Nyckeln är kolumnnamnet och värdet är kolumnvärdet i egenskapsordlistan. Alla Stream Analytics-datatyper stöds förutom Post och Matris.

I följande exempel läggs fälten DeviceId och DeviceStatus till i metadata.

  1. Använd följande fråga:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. Konfigurera DeviceId,DeviceStatus som egenskapskolumner i utdata.

    Egenskapskolumner

Följande bild är av de förväntade egenskaperna för utdatameddelanden som inspekteras i en händelsehubb med Service Bus Explorer.

Anpassade egenskaper för händelser

Leverans exakt en gång

Exakt när leveransen stöds i Event Hubs-utdata som standard. Oavsett dina indata garanterar Stream Analytics ingen dataförlust eller inga dubbletter i en Event Hubs-utdata, över användarinitierade omstarter från den senaste utdatatiden, vilket förhindrar att dubbletter skapas. Detta förenklar strömningspipelinen avsevärt genom att inte behöva övervaka, implementera och felsöka dedupliceringslogik.

Nästa steg