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

Vytvoření nového kanálu

  1. Vyberte nástroj Tužka Pro tvorbu .

  2. Vytvořte nový kanál tak + , že vyberete a pak v rozevíracím seznamu vyberete Kanál .

    vytvořit nový 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ě.

  1. V podokně Aktivity v části Obecné vyberte aktivitu Vyhledávání . Přetáhněte ho na hlavní plátno vpravo.

    vyberte aktivitu vyhledávání.

  2. 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.

    upravit aktivitu vyhledávání.

    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í

  1. V Nastavení vyberte předem vytvořenou zdrojovou datovou sadu Azure Data Explorer nebo vyberte + Nová a vytvořte novou datovou sadu.

    přidejte datovou sadu v nastavení vyhledávání.

  2. V okně Nová datová sada vyberte datovou sadu Azure Data Explorer (Kusto). Vyberte Pokračovat a přidejte novou datovou sadu.

    vyberte novou datovou sadu.

  3. Nové parametry datové sady Azure Data Explorer jsou viditelné v Nastavení. Pokud chcete parametry aktualizovat, vyberte Upravit.

    nastavení vyhledávání pomocí datové sady Azure Data Explorer.

  4. 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.

    Upravte vlastnosti datové sady Azure Data Explorer.

  5. Při vytváření nové propojené služby se otevře stránka Nová propojená služba (Azure Data Explorer):

    Azure Data Explorer novou propojenou službu.

    • 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.
  6. 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í

  1. 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
    
  2. 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.

    Konečné nastavení aktivity vyhledávání.

Vytvoření aktivity For-Each

Aktivita For-Each se používá k iteraci kolekce a provádění zadaných aktivit ve smyčce.

  1. 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.

      Aktivita ForEach.

  2. 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

      Nastavení aktivity ForEach.

Vytvoření aktivity Azure Data Explorer Command v rámci aktivity ForEach

  1. 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.

  2. V podokně Aktivity v části Azure Data Explorer vyberte aktivitu Azure Data Explorer Command a přetáhněte ji na plátno.

    Aktivita příkazů Azure Data Explorer

  3. Na kartě Připojení vyberte stejnou dříve vytvořenou propojenou službu.

    karta připojení aktivity s příkazem azure data exploreru

  4. 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.

    aktivita příkazu.

    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.
  5. Kanál je teď připravený. Kliknutím na název kanálu se můžete vrátit do zobrazení hlavního kanálu.

    Kanál příkazů Azure Data Explorer.

  6. Před publikováním kanálu vyberte Ladit . Průběh kanálu můžete monitorovat na kartě Výstup .

    výstup aktivity příkazu azure data exploreru.

  7. 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>" 
        } 
    ] 
}