Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Úloha Azure Stream Analytics se skládá ze vstupu, dotazu a výstupu. Transformovaná data můžete odesílat do několika výstupních typů. Tento článek obsahuje seznam podporovaných výstupů Stream Analytics. Při návrhu dotazu Stream Analytics se pomocí klauzule INTO podívejte na název výstupu. Jeden výstup můžete použít pro úlohu nebo více výstupů na úlohu streamování přidáním více klauzulí INTO do dotazu.
Pokud chcete vytvářet, upravovat a testovat výstupy úlohy Stream Analytics, můžete použít Azure Portal, Azure PowerShell, rozhraní .NET API, REST API, Visual Studio a Visual Studio Code.
Poznámka:
Pro nejlepší místní vývojové prostředí použijte nástroje Stream Analytics pro Visual Studio Code. Nástroje Stream Analytics pro Visual Studio 2019 (verze 2.6.3000.0) mají známé mezery mezi funkcemi a nebudou se dále zlepšovat.
Některé typy výstupu podporují dělení , jak je znázorněno v následující tabulce.
Všechny výstupy podporují dávkování, ale pouze některé podporují explicitní nastavení velikosti výstupní dávky. Další informace najdete v části Velikosti výstupní dávky .
| Typ výstupu | Partitioning | Zabezpečení |
|---|---|---|
| Azure Data Explorer | Ano | Spravovaná identita |
| Azure Functions | Ano | Přístupový klíč |
| Azure Synapse Analytics | Ano | Ověřování uživatele SQL, spravovaná identita |
| Úložiště blobů a Azure Data Lake Gen2 | Ano | Přístupový klíč, spravovaná identita |
| Azure Cosmos DB | Ano | Přístupový klíč, spravovaná identita |
| Azure Data Lake Storage Gen2 | Ano | Spravovaná identita uživatele Microsoft Entra |
| Azure Event Hubs | Ano, musíte nastavit sloupec klíče oddílu ve výstupní konfiguraci. | Přístupový klíč, spravovaná identita |
| Kafka (Preview) | Ano, musíte nastavit sloupec klíče oddílu ve výstupní konfiguraci. | Přístupový klíč, spravovaná identita |
| Azure Database for PostgreSQL | Ano | Ověřování pomocí uživatelského jména a hesla |
| Power BI | Ne | Uživatel Microsoft Entra, spravovaná identita |
| Fronty služby Azure Service Bus | Ano | Přístupový klíč, spravovaná identita |
| Témata služby Azure Service Bus | Ano | Přístupový klíč, spravovaná identita |
| Azure SQL databáze | Ano, volitelné. | Ověřování uživatele SQL, spravovaná identita |
| Azure úložiště tabulek (Table storage) | Ano | Klíč účtu |
Důležité
Azure Stream Analytics používá rozhraní API pro vložení nebo nahrazení podle návrhu. Tato operace nahradí existující entitu nebo vloží novou entitu, pokud v tabulce neexistuje.
Partitioning
Stream Analytics podporuje oddíly pro všechny výstupy s výjimkou Power BI. Další informace o partition klíčích a počtu výstupních zapisovačů naleznete v článku věnovaném konkrétnímu typu výstupu, který vás zajímá. Články pro výstupní typy jsou propojeny v předchozí části.
Pro pokročilejší ladění oddílů můžete počet zapisovačů výstupu řídit pomocí klauzule INTO <partition count> (viz INTO) ve vašem dotazu. Tento ovládací prvek vám pomůže dosáhnout požadované topologie úlohy. Pokud váš výstupní adaptér není rozdělený na partice, nedostatek dat v jedné vstupní partici způsobí zpoždění až do maximální přípustné doby pozdního příjezdu. V takových případech se výstup sloučí do jednoho zapisovače, což může způsobit kritická místa ve vašem toku. Další informace o zásadách zpracovávání opožděných událostí najdete v úvahách o pořadí událostí v Azure Stream Analytics.
Velikost dávky výstupu
Všechny výstupy podporují dávkování, ale jenom některé podporují explicitní nastavení velikosti dávky. Azure Stream Analytics používá dávky proměnlivé velikosti ke zpracování událostí a zápisu do výstupů. Modul Stream Analytics obvykle nepíše jednu zprávu najednou a používá dávky pro efektivitu. Pokud je rychlost příchozích i odchozích událostí vysoká, Stream Analytics používá větší dávky. Pokud je výchozí rychlost nízká, používá menší dávky k zachování nízké latence.
Chování rozdělení souborů Avro a Parquet
Dotaz Stream Analytics může pro daný výstup vygenerovat více schémat. Seznam sloupců promítaných a jejich typ se může měnit na základě řádku po řádku. Formáty Avro a Parquet záměrně nepodporují schémata proměnných v jednom souboru.
Při směrování datového proudu se schématy proměnných do výstupu pomocí těchto formátů může dojít k následujícímu chování:
- Pokud lze zjistit změnu schématu, aktuální výstupní soubor je zavřený a nový inicializován v novém schématu. Rozdělení souborů tímto způsobem výrazně zpomaluje výstup, pokud dochází k častým změnám schématu. Toto chování může vážně ovlivnit celkový výkon úlohy.
- Pokud změnu schématu nelze zjistit, řádek je pravděpodobně odmítnut a úloha se zasekne, protože řádek nemůže být výstupem. Vnořené sloupce nebo pole s více typy jsou případy, které nejsou odhaleny a vyřazeny.
Zvažte, že výstupy používající formát Avro nebo Parquet jsou silně typované nebo jako schéma-při-zápisu, a pište dotazy, které cílí na tato data pomocí explicitních převodů a projekcí pro jednotné schéma.
Pokud potřebujete vygenerovat více schémat, zvažte vytvoření více výstupů a rozdělení záznamů do každého cíle pomocí WHERE klauzule.
Vlastnosti dávkování výstupního okna Parquet
Při použití nasazení šablony Azure Resource Manager nebo rozhraní REST API nastavíte dvě vlastnosti dávkovacího okna:
timeWindow
Maximální doba čekání na dávku. Nastavte hodnotu jako řetězec
Timespan. Můžete například použít00:02:00dvě minuty. Po uplynutí této doby se dávka zapíše do výstupu, i když není splněn minimální požadavek na řádky. Výchozí hodnota je jedna minuta a povolené maximum je dvě hodiny. Pokud má výstup objektu blob frekvenci cest, doba čekání nemůže být vyšší než časový rozsah oddílů.sizeWindow
Počet minimálních řádků na dávku. Pro Parquet vytvoří každá dávka nový soubor. Aktuální výchozí hodnota je 2 000 řádků a povolené maximum je 10 000 řádků.
Rozhraní API verze 2017-04-01-preview nebo vyšší podporuje tyto vlastnosti dávkovacího okna. Tady je příklad datové části JSON pro volání rozhraní REST API:
"type": "stream",
"serialization": {
"type": "Parquet",
"properties": {}
},
"timeWindow": "00:02:00",
"sizeWindow": "2000",
"datasource": {
"type": "Microsoft.Storage/Blob",
"properties": {
"storageAccounts" : [
{
"accountName": "{accountName}",
"accountKey": "{accountKey}",
}
],