Utdata från Azure Stream Analytics
Ett Azure Stream Analytics jobb består av indata, fråga och utdata. Det finns flera utdatatyper som du kan skicka transformerade data till. Den här artikeln listar de Stream Analytics utdata. När du utformar din Stream Analytics kan du referera till namnet på utdata med hjälp av INTO-satsen. Du kan använda en enda utdata per jobb eller flera utdata per strömningsjobb (om du behöver dem) genom att lägga till flera INTO-satser i frågan.
Om du vill skapa, redigera Stream Analytics testa jobbutdata kan du använda Azure Portal, Azure PowerShell, .NET API, REST API och Visual Studio.
Vissa utdatatyper stöder partitioneringoch batchstorlekarna för utdata varierar för att optimera dataflödet. I följande tabell visas funktioner som stöds för varje utdatatyp:
| Utdatatyp | Partitionering | Säkerhet |
|---|---|---|
| Azure Data Lake Storage Gen 1 | Yes | Azure Active Directory användare , Hanterad identitet |
| Azure Databasutforskare | Yes | Hanterad identitet |
| Azure Database for PostgreSQL | Yes | Autentisering av användarnamn och lösenord |
| Azure SQL Database | Ja, valfritt. | SQL användarauth, Hanterad identitet |
| Azure Synapse Analytics | Yes | SQL användarauth, Hanterad identitet (förhandsversion) |
| Blob Storage och Azure Data Lake Gen 2 | Yes | Åtkomstnyckel, Hanterad identitet |
| Azure Event Hubs | Ja, måste ange partitionsnyckelkolumnen i utdatakonfigurationen. | Åtkomstnyckel, Hanterad identitet |
| Power BI | No | Azure Active Directory användare, Hanterad identitet |
| Azure Table Storage | Yes | Kontonyckel |
| Azure Service Bus köer | Yes | Åtkomstnyckel |
| Avsnitt om Azure Service Bus-tjänster | Yes | Åtkomstnyckel |
| Azure Cosmos DB | Yes | Åtkomstnyckel |
| Azure Functions | Yes | Åtkomstnyckel |
Partitionering
Stream Analytics stöder partitioner för alla utdata förutom Power BI. Mer information om partitionsnycklar och antalet utdataskrivare finns i artikeln för den specifika utdatatyp som du är intresserad av. Alla utdataartiklar länkas i föregående avsnitt.
För mer avancerad justering av partitionerna kan dessutom antalet utdataskrivare styras med hjälp av en (se INTO)-sats i din fråga, vilket kan vara användbart för att uppnå en INTO <partition count> önskad jobbtopologi. Om utdataadaptern inte är partitionerad orsakar brist på data i en indatapartition en fördröjning upp till den försenade ankomsttiden. I sådana fall sammanfogas utdata till en enda skrivare, vilket kan orsaka flaskhalsar i din pipeline. Mer information om principen för försenad ankomst finns i Azure Stream Analytics att tänka på när det gäller händelseordning.
Batchstorlek för utdata
Alla utdata stöder batchbearbetning, men endast vissa stöder batchstorlek uttryckligen. Azure Stream Analytics använder batchar med variabel storlek för att bearbeta händelser och skriva till utdata. Normalt skriver Stream Analytics-motorn inte ett meddelande i taget och använder batchar för effektivitet. När frekvensen för både inkommande och utgående händelser är hög Stream Analytics större batchar. När utgående hastighet är låg används mindre batchar för att hålla svarstiden låg.
Parquet-fönsteregenskaper för batchbearbetning av utdata
När du Azure Resource Manager en malldistribution eller REST API är de två egenskaperna för batchbearbetningsfönstret:
timeWindow
Maximal väntetid per batch. Värdet ska vara en sträng med Tidsspann. Till exempel "00:02:00" i två minuter. Efter den här tiden skrivs batchen till utdata även om minimikraven för rader inte uppfylls. Standardvärdet är 1 minut och det tillåtna högsta värdet är 2 timmar. Om dina blobutdata har sökvägsmönsterfrekvens får väntetiden inte vara högre än partitionens tidsintervall.
sizeWindow
Antalet minsta rader per batch. För Parquet skapar varje batch en ny fil. Det aktuella standardvärdet är 2 000 rader och det tillåtna högsta värdet är 10 000 rader.
Dessa egenskaper för batchbearbetningsfönstret stöds endast av API-version 2017-04-01-preview. Nedan visas ett exempel på JSON-nyttolasten för ett REST API-anrop:
"type": "stream",
"serialization": {
"type": "Parquet",
"properties": {}
},
"timeWindow": "00:02:00",
"sizeWindow": "2000",
"datasource": {
"type": "Microsoft.Storage/Blob",
"properties": {
"storageAccounts" : [
{
"accountName": "{accountName}",
"accountKey": "{accountKey}",
}
],