Dela via


Använda Azure Data Factory kommandoaktivitet för att köra Azure Data Explorer-hanteringskommandon

Azure Data Factory (ADF) är en molnbaserad dataintegreringstjänst som gör att du kan utföra en kombination av aktiviteter på data. Använd ADF för att skapa datadrivna arbetsflöden för orkestrering och automatisering av dataförflyttning och datatransformering. Med Azure Data Explorer Command-aktiviteten i Azure Data Factory kan du köra Azure Data Explorer-hanteringskommandon i ett ADF-arbetsflöde. I den här artikeln får du lära dig hur du skapar en pipeline med en uppslagsaktivitet och En ForEach-aktivitet som innehåller en Azure-Data Explorer kommandoaktivitet.

Förutsättningar

Skapa en ny pipeline

  1. Välj pennverktyget Författare .

  2. Skapa en ny pipeline genom att + välja och välj sedan Pipeline i listrutan.

    skapa en ny pipeline.

Skapa en sökningsaktivitet

En uppslagsaktivitet kan hämta en datauppsättning från alla Azure Data Factory datakällor som stöds. Utdata från uppslagsaktiviteten kan användas i en ForEach eller annan aktivitet.

  1. I fönstret Aktiviteter under Allmänt väljer du uppslagsaktiviteten . Dra och släpp den i huvudarbetsytan till höger.

    välj uppslagsaktivitet.

  2. Arbetsytan innehåller nu uppslagsaktiviteten som du skapade. Använd flikarna under arbetsytan för att ändra relevanta parametrar. I Allmänt byter du namn på aktiviteten.

    redigera uppslagsaktivitet.

    Tips

    Klicka på det tomma arbetsytan för att visa pipelineegenskaperna. Använd fliken Allmänt för att byta namn på pipelinen. Vår pipeline heter pipeline-4-docs.

Skapa en Azure Data Explorer-datauppsättning i uppslagsaktivitet

  1. I Inställningar väljer du din förskapade Azure Data Explorer Källdatauppsättning eller väljer + Ny för att skapa en ny datauppsättning.

    lägg till datauppsättning i uppslagsinställningar.

  2. Välj datauppsättningen Azure Data Explorer (Kusto) från fönstret Ny datauppsättning. Välj Fortsätt för att lägga till den nya datauppsättningen.

    välj ny datauppsättning.

  3. De nya Azure Data Explorer-datauppsättningsparametrarna visas i Inställningar. Om du vill uppdatera parametrarna väljer du Redigera.

    uppslagsinställningar med Azure Data Explorer datauppsättning.

  4. Den nya fliken AzureDataExplorerTable öppnas på huvudarbetsytan.

    • Välj Allmänt och redigera datauppsättningens namn.
    • Välj Anslutning för att redigera datauppsättningsegenskaperna.
    • Välj den länkade tjänsten i listrutan eller välj + Ny för att skapa en ny länkad tjänst.

    Redigera egenskaper för Azure Data Explorer datauppsättning.

  5. När du skapar en ny länkad tjänst öppnas sidan Ny länkad tjänst (Azure Data Explorer):

    Azure Data Explorer ny länkad tjänst.

    • Välj Namn för Azure Data Explorer länkade tjänsten. Lägg till Beskrivning om det behövs.
    • I Anslut via integrationskörning ändrar du aktuella inställningar om det behövs.
    • I Kontovalsmetod väljer du klustret med någon av två metoder:
      • Välj alternativknappen Från Azure-prenumeration och välj ditt Azure-prenumerationskonto . Välj sedan ditt kluster. Observera att listrutan endast visar kluster som tillhör användaren.
      • Välj i stället Knappen Ange manuellt alternativ och ange slutpunkten (kluster-URL).
    • Ange klientorganisationen.
    • Ange tjänstens huvudnamns-ID. Det här värdet finns i Azure Portal under Program-ID för appregistreringar>>översiktsprogram (klient). Huvudkontot måste ha tillräckliga behörigheter enligt den behörighetsnivå som krävs av kommandot som används.
    • Välj knappen För tjänstens huvudnamn och ange tjänstens huvudnamnnyckel.
    • Välj din databas på den nedrullningsbara menyn. Du kan också markera kryssrutan Redigera och ange ditt databasnamn.
    • Välj Testa anslutning för att testa den länkade tjänstanslutning som du skapade. Om du kan ansluta till konfigurationen visas en grön bockmarkering Anslutning lyckades .
    • Välj Slutför för att slutföra skapandet av länkad tjänst.
  6. När du har konfigurerat en länkad tjänst lägger du till Tabellnamn i AzureDataExplorerTable-anslutning>. Välj Förhandsgranska data för att se till att data visas korrekt.

    Datauppsättningen är nu klar och du kan fortsätta redigera din pipeline.

Lägga till en fråga i uppslagsaktiviteten

  1. I pipeline-4-docs-inställningar> lägger du till en fråga i textrutan Fråga, till exempel:

    ClusterQueries
    | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb")
    | summarize count() by Database
    
  2. Ändra egenskaperna Frågetimeout eller Ingen trunkering och Endast första raden efter behov. I det här flödet behåller vi standardtimeouten för frågor och avmarkerar kryssrutorna.

    Slutliga inställningar för uppslagsaktivitet.

Skapa en For-Each aktivitet

Aktiviteten For-Each används för att iterera över en samling och köra angivna aktiviteter i en loop.

  1. Nu lägger du till en For-Each aktivitet i pipelinen. Den här aktiviteten bearbetar data som returneras från uppslagsaktiviteten.

    • I fönstret Aktiviteter , under Iteration & Villkorsstyrda, väljer du Aktiviteten ForEach och drar och släpper den i arbetsytan.

    • Rita en linje mellan utdata från uppslagsaktiviteten och indata för ForEach-aktiviteten på arbetsytan för att ansluta dem.

      ForEach-aktivitet.

  2. Välj aktiviteten ForEach på arbetsytan. På fliken Inställningar nedan:

    • Markera kryssrutan Sekventiell för sekventiell bearbetning av sökningsresultaten eller lämna den avmarkerad för att skapa parallell bearbetning.

    • Ange Antal batchar.

    • I Objekt anger du följande referens till utdatavärdet: @activity('Lookup1').output.value

      ForEach-aktivitetsinställningar.

Skapa en Azure Data Explorer-kommandoaktivitet i ForEach-aktiviteten

  1. Dubbelklicka på ForEach-aktiviteten på arbetsytan för att öppna den på en ny arbetsyta för att ange aktiviteterna i ForEach.

  2. I fönstret Aktiviteter under Azure Data Explorer väljer du aktiviteten Azure Data Explorer Command och drar och släpper den på arbetsytan.

    Azure Data Explorer-kommandoaktivitet.

  3. På fliken Anslutning väljer du samma länkade tjänst som du skapade tidigare.

    fliken azure data explorer-kommandoaktivitetsanslutning.

  4. På fliken Kommando anger du följande kommando:

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

    Kommandot instruerar Azure Data Explorer att exportera resultatet av en viss fråga till en bloblagring i komprimerat format. Den körs asynkront (med asynkron modifierare). Frågan adresserar databaskolumnen för varje rad i sökningsaktivitetsresultatet. Tidsgränsen för kommandot kan lämnas oförändrad.

    kommandoaktivitet.

    Anteckning

    Kommandoaktiviteten har följande gränser:

    • Storleksgräns: 1 MB svarsstorlek
    • Tidsgräns: 20 minuter (standard), 1 timme (max).
    • Om det behövs kan du lägga till en fråga i resultatet med hjälp av AdminThenQuery för att minska den resulterande storleken/tiden.
  5. Nu är pipelinen klar. Du kan gå tillbaka till huvudpipelinevyn genom att klicka på pipelinenamnet.

    Azure Data Explorer kommandopipeline.

  6. Välj Felsök innan du publicerar pipelinen. Pipeline-förloppet kan övervakas på fliken Utdata .

    azure data explorer-kommandoaktivitetsutdata.

  7. Du kan publicera alla och sedan lägga till utlösare för att köra pipelinen.

Utdata för hanteringskommandon

Strukturen för kommandoaktivitetens utdata beskrivs nedan. Dessa utdata kan användas av nästa aktivitet i pipelinen.

Returnerat värde för ett icke-asynkront hanteringskommando

I ett icke-asynkront hanteringskommando liknar strukturen för det returnerade värdet strukturen för sökningsaktivitetsresultatet. Fältet count anger antalet returnerade poster. Ett fast matrisfält value innehåller en lista med poster.

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

Returnerat värde för ett asynkront hanteringskommando

I ett asynkront hanteringskommando avsöker aktiviteten åtgärdstabellen i bakgrunden tills asynkroniseringsåtgärden har slutförts eller tidsgränsen uppnås. Därför innehåller det returnerade värdet resultatet av .show operations OperationId för den angivna Egenskapen OperationId . Kontrollera värdena för egenskaper för tillstånd och status för att kontrollera att åtgärden har slutförts.

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