Azure Data Explorer felügyeleti parancsok futtatása Azure Data Factory parancstevékenység használatával

Azure Data Factory (ADF) egy felhőalapú adatintegrációs szolgáltatás, amely lehetővé teszi az adatokon végzett tevékenységek kombinációját. Az ADF használatával adatvezérelt munkafolyamatokat hozhat létre az adatáthelyezés és adatátalakítás vezényléséhez és automatizálásához. Az Azure Data Explorer Command tevékenység a Azure Data Factory lehetővé teszi az Azure Data Explorer felügyeleti parancsok futtatását egy ADF-munkafolyamaton belül. Ez a cikk bemutatja, hogyan hozhat létre olyan folyamatot, amely keresési tevékenységgel és Egy Azure Data Explorer parancstevékenységet tartalmazó ForEach-tevékenységgel rendelkezik.

Előfeltételek

Új folyamat létrehozása

  1. Válassza a Szerző ceruza eszközt.

  2. Hozzon létre egy új folyamatot a legördülő menü Folyamat elemének kiválasztásával+.

    új folyamat létrehozása.

Keresési tevékenység létrehozása

A keresési tevékenységek bármilyen Azure Data Factory támogatott adatforrásból lekérhetnek egy adathalmazt. A Keresési tevékenység kimenete használható ForEach- vagy más tevékenységekben.

  1. A Tevékenységek panel Általános csoportjában válassza a Keresési tevékenység lehetőséget. Húzza a jobb oldali fővászonra.

    válassza a keresési tevékenység lehetőséget.

  2. A vászon most már tartalmazza a létrehozott keresési tevékenységet. A vásznon található fülek használatával módosíthatja a releváns paramétereket. Általánosságban nevezze át a tevékenységet.

    keresési tevékenység szerkesztése.

    Tipp

    Kattintson az üres vászonterületre a folyamat tulajdonságainak megtekintéséhez. Az Általános lapon nevezze át a folyamatot. A folyamat neve pipeline-4-docs.

Azure Data Explorer-adatkészlet létrehozása keresési tevékenységben

  1. A Beállítások területen válassza ki az előre létrehozott Azure Data Explorer Forrásadatkészletet, vagy válassza az + Új lehetőséget egy új adatkészlet létrehozásához.

    adja hozzá az adatkészletet a keresési beállításokban.

  2. Válassza az Azure Data Explorer (Kusto) adatkészletet az Új adatkészlet ablakban. Válassza a Folytatás lehetőséget az új adatkészlet hozzáadásához.

    válassza az új adatkészletet.

  3. Az új Azure Data Explorer adathalmaz-paraméterek a Beállítások területen láthatók. A paraméterek frissítéséhez válassza a Szerkesztés lehetőséget.

    keresési beállítások az Azure Data Explorer adatkészlettel.

  4. Megnyílik az AzureDataExplorerTable új lapja a fővászonon.

    • Válassza az Általános lehetőséget, és szerkessze az adathalmaz nevét.
    • Válassza a Kapcsolat lehetőséget az adathalmaz tulajdonságainak szerkesztéséhez.
    • Válassza ki a társított szolgáltatást a legördülő menüből, vagy válassza az + Új lehetőséget egy új társított szolgáltatás létrehozásához.

    Az Azure Data Explorer adathalmaz tulajdonságainak szerkesztése.

  5. Új társított szolgáltatás létrehozásakor megnyílik az Új társított szolgáltatás (Azure Data Explorer) lap:

    Az Azure Data Explorer új társított szolgáltatás.

    • Válassza az Azure Data Explorer társított szolgáltatás neve lehetőséget. Szükség esetén adja hozzá a leírást .
    • A Csatlakozás integrációs modulon keresztül területen szükség esetén módosítsa az aktuális beállításokat.
    • A Fiókválasztási módszer területen válassza ki a fürtöt két módszer egyikével:
      • Válassza az Azure-előfizetésből választógombot, és válassza ki az Azure-előfizetési fiókját. Ezután válassza ki a fürtöt. Vegye figyelembe, hogy a legördülő lista csak a felhasználóhoz tartozó fürtöket listázhatja.
      • Ehelyett válassza az Enter manuális választógombot, és adja meg a végpontot (fürt URL-címét).
    • Adja meg a bérlőt.
    • Adja meg a szolgáltatásnév azonosítóját. Ez az érték az alkalmazásregisztrációk>áttekintési>alkalmazás (ügyfél) azonosítójánakAzure Portal található. A rendszerbiztonsági tagnak megfelelő engedélyekkel kell rendelkeznie a használt parancs által megkövetelt engedélyszintnek megfelelően.
    • Válassza a Szolgáltatásnévkulcs gombot, és írja be a Szolgáltatásnévkulcs kifejezést.
    • Válassza ki az adatbázist a legördülő menüből. Másik lehetőségként jelölje be a Szerkesztés jelölőnégyzetet, és adja meg az adatbázis nevét.
    • Válassza a Kapcsolat tesztelése lehetőséget a létrehozott társított szolgáltatáskapcsolat teszteléséhez. Ha tud csatlakozni a beállításhoz, megjelenik a Sikeres kapcsolat zöld pipa.
    • Kattintson a Befejezés gombra a társított szolgáltatás létrehozásának befejezéséhez.
  6. Miután beállított egy társított szolgáltatást, adja hozzá a tábla nevét az AzureDataExplorerTable>Connection szolgáltatáshoz. Válassza az Adatok előnézete lehetőséget, hogy meggyőződjön arról, hogy az adatok megfelelően jelennek meg.

    Az adathalmaz készen áll, és folytathatja a folyamat szerkesztését.

Lekérdezés hozzáadása a keresési tevékenységhez

  1. A pipeline-4-docs Settings (Folyamat-4-docs>beállításai ) területen adjon hozzá egy lekérdezést a Lekérdezés szövegmezőben, például:

    ClusterQueries
    | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb")
    | summarize count() by Database
    
  2. Szükség szerint módosítsa a Lekérdezés időtúllépése vagy a Nincs csonkítás és az Első sor csak tulajdonságát. Ebben a folyamatban megtartjuk az alapértelmezett lekérdezési időtúllépést , és töröljük a jelölőnégyzetek jelölését.

    A keresési tevékenység végső beállításai.

For-Each tevékenység létrehozása

A For-Each tevékenység egy gyűjteményen keresztüli iterálásra és meghatározott tevékenységek ciklusban való végrehajtására szolgál.

  1. Most hozzáad egy For-Each tevékenységet a folyamathoz. Ez a tevékenység feldolgozni fogja a keresési tevékenységből visszaadott adatokat.

    • A Tevékenységek panel Iteráció & Feltételes beállítások csoportjában jelölje ki a ForEach tevékenységet, és húzza a vászonra.

    • Rajzoljon egy vonalat a Keresési tevékenység kimenete és a ForEach-tevékenység bemenete között a vásznon az összekapcsoláshoz.

      ForEach-tevékenység.

  2. Válassza ki a ForEach-tevékenységet a vásznon. Az alábbi Beállítások lapon:

    • Jelölje be a Szekvenciális jelölőnégyzetet a keresési eredmények szekvenciális feldolgozásához, vagy hagyja bejelöletlenül a párhuzamos feldolgozás létrehozásához.

    • A Kötegek számának beállítása.

    • Az Elemek területen adja meg a következő hivatkozást a kimeneti értékre: @activity('Lookup1').output.value

      ForEach-tevékenységbeállítások.

Azure Data Explorer Command-tevékenység létrehozása a ForEach-tevékenységen belül

  1. Kattintson duplán a ForEach tevékenységre a vásznon, és nyissa meg egy új vásznon a ForEach tevékenységeinek megadásához.

  2. A Tevékenységek panelEn, az Azure Data Explorer alatt válassza ki az Azure Data Explorer Command tevékenységet, és húzza a vászonra.

    Azure Data Explorer parancstevékenység.

  3. A Kapcsolat lapon válassza ki a korábban létrehozott társított szolgáltatást.

    Azure Data Explorer-parancstevékenység kapcsolati lapja.

  4. A Parancs lapon adja meg a következő parancsot:

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

    A parancs arra utasítja az Azure Data Explorer, hogy tömörített formátumban exportálja egy adott lekérdezés eredményeit egy blobtárolóba. Aszinkron módon fut (az aszinkron módosító használatával). A lekérdezés a Keresési tevékenység eredményében szereplő egyes sorok adatbázis-oszlopát kezeli. A parancs időtúllépése változatlan marad.

    parancstevékenység.

    Megjegyzés

    A parancstevékenység a következő korlátozásokkal rendelkezik:

    • Méretkorlát: 1 MB válaszméret
    • Időkorlát: 20 perc (alapértelmezett), 1 óra (maximum).
    • Szükség esetén hozzáfűzhet egy lekérdezést az eredményhez az AdminThenQuery használatával az eredményül kapott méret/idő csökkentése érdekében.
  5. Most már készen áll a folyamat. A folyamat nevére kattintva visszatérhet a fő folyamatnézethez.

    Azure Data Explorer parancsfolyamat.

  6. A folyamat közzététele előtt válassza a Hibakeresés lehetőséget. A folyamat előrehaladása a Kimenet lapon figyelhető.

    azure data explorer parancstevékenység kimenete.

  7. A folyamat futtatásához közzéteheti az Összeset , majd az Eseményindító hozzáadása parancsot .

Felügyeleti parancs kimenetei

A parancstevékenység kimenetének struktúráját az alábbiakban tekintheti meg. Ezt a kimenetet a folyamat következő tevékenysége használhatja.

Nem aszinkron felügyeleti parancs visszaadott értéke

A nem aszinkron felügyeleti parancsokban a visszaadott érték struktúrája hasonló a Keresési tevékenység eredményének szerkezetéhez. A count mező a visszaadott rekordok számát jelzi. A rögzített tömbmezők value rekordlistát tartalmaznak.

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

Aszinkron kezelési parancs visszaadott értéke

Egy aszinkron felügyeleti parancsban a tevékenység lekérdezi a háttérben lévő műveleti táblát, amíg az aszinkron művelet be nem fejeződik vagy túllépi az időkorlátot. Ezért a visszaadott érték az adott OperationId tulajdonság eredményét .show operations OperationId fogja tartalmazni. Ellenőrizze az Állapotés állapot tulajdonságok értékeit a művelet sikeres befejezésének ellenőrzéséhez.

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