Použití aktivity příkazů služby Azure Data Factory ke spuštění příkazů pro správu Azure Data Exploreru
Azure Data Factory (ADF) je cloudová služba pro integraci dat, která umožňuje provádět kombinaci aktivit s daty. Pomocí ADF můžete vytvářet pracovní postupy řízené daty pro orchestraci a automatizaci přesunu a transformace dat. Aktivita příkazu Azure Data Exploreru ve službě Azure Data Factory umožňuje spouštět příkazy pro správu Azure Data Exploreru v rámci pracovního postupu ADF. V tomto článku se dozvíte, jak vytvořit kanál s aktivitou vyhledávání a aktivitou ForEach obsahující aktivitu příkazů Azure Data Exploreru.
Požadavky
- Předplatné Azure. Vytvořte bezplatný účet Azure.
- Cluster a databáze Azure Data Exploreru. Vytvořte cluster a databázi.
- Zdroj dat.
- Datová továrna. Vytvořte datovou továrnu.
Vytvoření nového kanálu
Vyberte nástroj Tužka pro tvorbu.
Vytvořte nový kanál tak + , že ho vyberete a pak v rozevíracím seznamu vyberete Kanál .
Vytvoření aktivity Vyhledávání
Vyhledávací aktivita může načíst datovou sadu z libovolných zdrojů dat podporovaných službou Azure Data Factory. Výstup aktivity Vyhledávání lze použít v forEach nebo jiné aktivitě.
V podokně Aktivity v části Obecné vyberte aktivitu Vyhledávání . Přetáhněte ho na hlavní plátno vpravo.
Plátno teď obsahuje aktivitu vyhledávání, kterou jste vytvořili. Pomocí karet pod plátnem můžete změnit všechny relevantní parametry. Obecně přejmenujte aktivitu.
Tip
Kliknutím na prázdnou oblast plátna zobrazíte vlastnosti kanálu. K přejmenování kanálu použijte kartu Obecné. Náš kanál má název pipeline-4-docs.
Vytvoření datové sady Azure Data Exploreru ve vyhledávací aktivitě
V Nastavení vyberte předem vytvořenou zdrojovou datovou sadu Azure Data Exploreru nebo vyberte + Nový a vytvořte novou datovou sadu.
V okně Nová datová sada vyberte datovou sadu Azure Data Exploreru (Kusto). Vyberte Pokračovat a přidejte novou datovou sadu.
Nové parametry datové sady Azure Data Exploreru jsou viditelné v Nastavení. Pokud chcete parametry aktualizovat, vyberte Upravit.
Nová karta AzureDataExplorerTable se otevře na hlavním plátně.
- Vyberte Obecné a upravte název datové sady.
- Vyberte Připojení a upravte vlastnosti datové sady.
- V rozevíracím seznamu vyberte propojenou službu nebo vyberte + Nový a vytvořte novou propojenou službu.
Při vytváření nové propojené služby se otevře stránka Nová propojená služba (Azure Data Explorer ):
- Vyberte Název propojené služby Azure Data Exploreru. V případě potřeby přidejte popis .
- V případě potřeby v modulu Connect přes prostředí Integration Runtime změňte aktuální nastavení.
- V části Metoda výběru účtu vyberte cluster pomocí jedné ze dvou metod:
- Vyberte přepínač Z předplatného Azure a vyberte svůj účet předplatného Azure. Pak vyberte svůj cluster. Všimněte si, že rozevírací seznam bude vypisovat pouze clustery, které patří uživateli.
- Místo toho vyberte přepínač Zadat ručně a zadejte koncový bod (adresa URL clusteru).
- Zadejte tenanta.
- Zadejte ID instančního objektu. Tuto hodnotu najdete na webu Azure Portal v části Application Registrations>Overview>Application (client) ID. Objekt zabezpečení musí mít odpovídající oprávnění podle úrovně oprávnění vyžadované použitým příkazem.
- Vyberte tlačítko Klíč instančního objektu a zadejte instanční klíč.
- V rozevírací nabídce vyberte databázi. Případně zaškrtněte políčko Upravit a zadejte název databáze.
- Výběrem možnosti Test připojení otestujte připojení propojené služby, které jste vytvořili. Pokud se můžete připojit k nastavení, zobrazí se zelené zaškrtnutí připojení úspěšné .
- Výběrem možnosti Dokončit dokončíte vytváření propojené služby.
Po nastavení propojené služby přidejte v AzureDataExplorerTable>Connection název tabulky. Vyberte Náhled dat, abyste měli jistotu, že se data správně zobrazují.
Vaše datová sada je teď připravená a můžete pokračovat v úpravách kanálu.
Přidání dotazu do aktivity vyhledávání
V nastavení pipeline-4-docs>přidejte dotaz do textového pole Dotazu, například:
ClusterQueries | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb") | summarize count() by Database
Podle potřeby změňte časový limit dotazu nebo žádné zkrácení a vlastnosti pouze prvního řádku. V tomto toku ponecháme výchozí časový limit dotazu a zrušíme zaškrtnutí políček.
Vytvoření aktivity For-Each
Aktivita For-Each se používá k iteraci nad kolekcí a provádění zadaných aktivit ve smyčce.
Teď do kanálu přidáte aktivitu For-Each. Tato aktivita zpracuje data vrácená z aktivity vyhledávání.
V podokně Aktivity v části Iterace a podmíněné položky vyberte aktivitu ForEach a přetáhněte ji na plátno.
Nakreslete čáru mezi výstupem aktivity Vyhledávání a vstupem aktivity ForEach na plátně, abyste je připojili.
Na plátně vyberte aktivitu ForEach. Na kartě Nastavení níže:
Zaškrtněte políčko Sekvenční pro postupné zpracování výsledků vyhledávání nebo ponechte nezaškrtnuté políčko pro vytvoření paralelního zpracování.
Nastavte počet dávek.
V položkách zadejte následující odkaz na výstupní hodnotu: @activity('Lookup1').output.value
Vytvoření aktivity příkazu Azure Data Exploreru v rámci aktivity ForEach
Poklikáním na aktivitu ForEach na plátně ji otevřete na novém plátně a určete aktivity v rámci forEach.
V podokně Aktivity v části Azure Data Explorer vyberte aktivitu příkazů Azure Data Exploreru a přetáhněte ji na plátno.
Na kartě Připojení vyberte stejnou propojenou službu, kterou jste vytvořili dříve.
Na kartě Příkaz zadejte následující příkaz:
.export async compressed into csv h"http://<storageName>.blob.core.windows.net/data/ClusterQueries;<storageKey>" with ( sizeLimit=100000, namePrefix=export ) <| ClusterQueries | where Database == "@{item().Database}"
Příkaz dává Azure Data Exploreru pokyn k exportu výsledků daného dotazu do úložiště objektů blob v komprimovaném formátu. Spouští se asynchronně (pomocí modifikátoru async). Dotaz se zabývá databázovým sloupcem každého řádku ve výsledku aktivity Vyhledávání. Časový limit příkazu může zůstat beze změny.
Poznámka:
Aktivita příkazu má následující omezení:
- Limit velikosti: Velikost odpovědi 1 MB
- Časový limit: 20 minut (výchozí), 1 hodina (maximum).
- V případě potřeby můžete k výsledku připojit dotaz pomocí AdminThenQuery a zmenšit tak výslednou velikost a čas.
Teď je kanál připravený. Kliknutím na název kanálu se můžete vrátit do hlavního zobrazení kanálu.
Před publikováním kanálu vyberte Ladit . Průběh kanálu je možné monitorovat na kartě Výstup .
Můžete publikovat vše a pak přidat trigger pro spuštění kanálu.
Výstupy příkazů pro správu
Struktura výstupu aktivity příkazu je podrobně popsána níže. Tento výstup může použít další aktivita v kanálu.
Vrácená hodnota příkazu pro správu, který není asynchronní
V nesynchronní správě příkazu je struktura vrácené hodnoty podobná struktuře výsledku aktivity Vyhledávání. Pole count
označuje počet vrácených záznamů. Pevné pole value
pole obsahuje seznam záznamů.
{
"count": "2",
"value": [
{
"ExtentId": "1b9977fe-e6cf-4cda-84f3-4a7c61f28ecd",
"ExtentSize": 1214.0,
"CompressedSize": 520.0
},
{
"ExtentId": "b897f5a3-62b0-441d-95ca-bf7a88952974",
"ExtentSize": 1114.0,
"CompressedSize": 504.0
}
]
}
Vrácená hodnota příkazu pro asynchronní správu
V asynchronním příkazu správy se aktivita dotazuje na tabulku operací na pozadí, dokud se asynchronní operace nedokončí nebo vyprší časový limit. Vrácená hodnota proto bude obsahovat výsledek .show operations OperationId
pro danou vlastnost OperationId . Zkontrolujte hodnoty vlastností Stav a Stav a ověřte úspěšné dokončení operace.
{
"count": "1",
"value": [
{
"OperationId": "910deeae-dd79-44a4-a3a2-087a90d4bb42",
"Operation": "TableSetOrAppend",
"NodeId": "",
"StartedOn": "2019-06-23T10:12:44.0371419Z",
"LastUpdatedOn": "2019-06-23T10:12:46.7871468Z",
"Duration": "00:00:02.7500049",
"State": "Completed",
"Status": "",
"RootActivityId": "f7c5aaaf-197b-4593-8ba0-e864c94c3c6f",
"ShouldRetry": false,
"Database": "MyDatabase",
"Principal": "<some principal id>",
"User": "<some User id>"
}
]
}