Použití aktivity příkazů Azure Data Factory ke spouštění příkazů pro správu Azure Data Explorer
Azure Data Factory (ADF) je cloudová služba pro integraci dat, která umožňuje s daty provádět kombinaci aktivit. Pomocí ADF můžete vytvářet pracovní postupy řízené daty pro orchestraci a automatizaci přesunu a transformace dat. Aktivita Azure Data Explorer Command v Azure Data Factory umožňuje spouštět příkazy pro správu Azure Data Explorer 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 Explorer.
Požadavky
- Předplatné Azure. Vytvořte si bezplatný účet Azure.
- Cluster a databáze Azure Data Explorer. 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 vyberete a pak v rozevíracím seznamu vyberete Kanál .
Vytvoření aktivity vyhledávání
Aktivita vyhledávání může načíst datovou sadu z libovolných Azure Data Factory podporovaných zdrojů dat. Výstup z aktivity Vyhledávání lze použít v aktivitě 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. V části Obecné přejmenujte aktivitu.
Tip
Kliknutím na prázdnou oblast plátna zobrazte 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 Explorer v aktivitě vyhledávání
V Nastavení vyberte předem vytvořenou zdrojovou datovou sadu Azure Data Explorer nebo vyberte + Nová a vytvořte novou datovou sadu.
V okně Nová datová sada vyberte datovou sadu Azure Data Explorer (Kusto). Vyberte Pokračovat a přidejte novou datovou sadu.
Nové parametry datové sady Azure Data Explorer jsou viditelné v Nastavení. Pokud chcete parametry aktualizovat, vyberte Upravit.
Na hlavním plátně se otevře nová karta AzureDataExplorerTable .
- 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 Explorer. V případě potřeby přidejte Popis .
- V části Připojení přes prostředí Integration Runtime v případě potřeby 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 cluster. Všimněte si, že rozevírací seznam obsahuje jenom clustery, které patří uživateli.
- Místo toho vyberte přepínač Zadat ručně a zadejte koncový bod (adresu URL clusteru).
- Zadejte tenanta.
- Zadejte ID instančního objektu. Tuto hodnotu najdete v Azure Portal v částiID aplikace (klienta)přehledu>>registrace aplikací. 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 Klíč instančního objektu.
- V rozevírací nabídce vyberte databázi . Případně zaškrtněte políčko Upravit a zadejte název databáze.
- Vyberte Test připojení a otestujte připojení propojené služby, které jste vytvořili. Pokud se můžete ke svému nastavení připojit, zobrazí se zelená značka Připojení bylo úspěšné .
- Výběrem možnosti Dokončit dokončete vytváření propojené služby.
Jakmile nastavíte propojenou službu, přidejte v části AzureDataExplorerTable>Connection název tabulky . Vyberte Náhled dat a ujistěte se, že se data zobrazují správně.
Vaše datová sada je teď připravená a v úpravách kanálu můžete pokračovat.
Přidání dotazu do aktivity vyhledávání
V pipeline-4-docs>Nastavení přidá dotaz do textového pole Dotaz , například:
ClusterQueries | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb") | summarize count() by Database
Podle potřeby změňte vlastnosti časového limitu dotazu nebo Žádné zkrácení a Pouze první řádek . V tomto toku zachová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 kolekce 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á aktivitou Vyhledávání.
V podokně Aktivity v části Iterace & Podmíněné 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ě a připojte je.
Na plátně vyberte aktivitu ForEach. Na kartě Nastavení níže:
Zaškrtněte políčko Sekvenční pro sekvenční 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 části Položky zadejte následující odkaz na výstupní hodnotu: @activity('Lookup1').output.value
Vytvoření aktivity Azure Data Explorer Command 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 nástroje ForEach.
V podokně Aktivity v části Azure Data Explorer vyberte aktivitu Azure Data Explorer Command a přetáhněte ji na plátno.
Na kartě Připojení vyberte stejnou dříve vytvořenou propojenou službu.
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á Azure Data Explorer pokyn, aby výsledky daného dotazu vyexportoval do úložiště objektů blob v komprimovaném formátu. Spouští se asynchronně (pomocí modifikátoru async). Dotaz řeší sloupec databáze každého řádku ve výsledku aktivity vyhledávání. Časový limit příkazu je možné ponechat beze změny.
Poznámka
Aktivita příkazu má následující omezení:
- Omezení 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, abyste snížili výslednou velikost a čas.
Kanál je teď připravený. Kliknutím na název kanálu se můžete vrátit do zobrazení hlavního kanálu.
Před publikováním kanálu vyberte Ladit . Průběh kanálu můžete monitorovat na kartě Výstup .
Kanál můžete spustit tak, že publikujete vše a pak přidáte aktivační událost .
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 nesynchronní správu
V příkazu pro nesynchronní správu 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é maticové pole value
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 asynchronní správy
V příkazu pro asynchronní správu se aktivita dotazuje na tabulku operací na pozadí, dokud se asynchronní operace nedokončila nebo nevyšel časový limit. Proto vrácená hodnota bude obsahovat výsledek .show operations OperationId
pro danou vlastnost OperationId . Zkontrolujte hodnoty vlastností State a Status 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>"
}
]
}