Delen via


Gebruik Azure Data Factory opdrachtactiviteit om Azure Data Explorer-beheeropdrachten uit te voeren

Azure Data Factory (ADF) is een cloudservice voor gegevensintegratie waarmee u een combinatie van activiteiten op de gegevens kunt uitvoeren. Gebruik ADF om gegevensgestuurde werkstromen te maken voor het organiseren en automatiseren van gegevensverplaatsing en gegevenstransformatie. Met de activiteit Azure Data Explorer Command in Azure Data Factory kunt u Azure Data Explorer-beheeropdrachten uitvoeren binnen een ADF-werkstroom. In dit artikel leert u hoe u een pijplijn maakt met een opzoekactiviteit en ForEach-activiteit met een Azure Data Explorer-opdrachtactiviteit.

Vereisten

Een nieuwe pijplijn maken

  1. Selecteer het potloodhulpmiddel Auteur .

  2. Maak een nieuwe pijplijn door Pijplijn te + selecteren en vervolgens te selecteren in de vervolgkeuzelijst.

    nieuwe pijplijn maken.

Een opzoekactiviteit maken

Met een opzoekactiviteit kan een gegevensset worden opgehaald uit alle Azure Data Factory ondersteunde gegevensbronnen. De uitvoer van de opzoekactiviteit kan worden gebruikt in een ForEach- of andere activiteit.

  1. Selecteer in het deelvenster Activiteiten onder Algemeen de activiteit Opzoeken . Sleep het naar het hoofdcanvas aan de rechterkant.

    selecteer opzoekactiviteit.

  2. Het canvas bevat nu de opzoekactiviteit die u hebt gemaakt. Gebruik de tabbladen onder het canvas om relevante parameters te wijzigen. Wijzig in Algemeen de naam van de activiteit.

    opzoekactiviteit bewerken.

    Tip

    Klik op het lege canvasgebied om de pijplijneigenschappen weer te geven. Gebruik het tabblad Algemeen om de naam van de pijplijn te wijzigen. Onze pijplijn heet pipeline-4-docs.

Een Azure Data Explorer-gegevensset maken in opzoekactiviteit

  1. Selecteer in Instellingen de vooraf gemaakte Azure Data Explorer-brongegevensset of selecteer + Nieuw om een nieuwe gegevensset te maken.

    gegevensset toevoegen in opzoekinstellingen.

  2. Selecteer de Gegevensset Azure Data Explorer (Kusto) in het venster Nieuwe gegevensset. Selecteer Doorgaan om de nieuwe gegevensset toe te voegen.

    nieuwe gegevensset selecteren.

  3. De nieuwe azure Data Explorer gegevenssetparameters zijn zichtbaar in Instellingen. Als u de parameters wilt bijwerken, selecteert u Bewerken.

    zoekinstellingen met Azure Data Explorer-gegevensset.

  4. Het nieuwe tabblad AzureDataExplorerTable wordt geopend in het hoofdcanvas.

    • Selecteer Algemeen en bewerk de naam van de gegevensset.
    • Selecteer Verbinding om de eigenschappen van de gegevensset te bewerken.
    • Selecteer de gekoppelde service in de vervolgkeuzelijst of selecteer + Nieuw om een nieuwe gekoppelde service te maken.

    Eigenschappen van Azure Data Explorer-gegevensset bewerken.

  5. Wanneer u een nieuwe gekoppelde service maakt, wordt de pagina Nieuwe gekoppelde service (Azure Data Explorer) geopend:

    Azure Data Explorer nieuwe gekoppelde service.

    • Selecteer Naam voor azure Data Explorer gekoppelde service. Voeg indien nodig een beschrijving toe.
    • Wijzig in Verbinding maken via integratieruntime indien nodig de huidige instellingen.
    • Selecteer in Accountselectiemethode uw cluster met behulp van een van de volgende twee methoden:
      • Selecteer het keuzerondje Van Azure-abonnement en selecteer uw Azure-abonnementsaccount . Selecteer vervolgens uw cluster. In de vervolgkeuzelijst worden alleen clusters weergegeven die bij de gebruiker horen.
      • Selecteer in plaats daarvan het keuzerondje Handmatig invoeren en voer uw eindpunt (cluster-URL) in.
    • Geef de tenant op.
    • Voer service-principal-id in. Deze waarde is te vinden in de Azure Portal onder App-registratiesoverzicht>Toepassings-id> (client). De principal moet over de juiste machtigingen beschikken, afhankelijk van het machtigingsniveau dat is vereist voor de opdracht die wordt gebruikt.
    • Selecteer de knop Service-principalsleutel en voer Service-principalsleutel in.
    • Selecteer uw Database in de vervolgkeuzelijst. U kunt ook het selectievakje Bewerken inschakelen en de naam van uw database invoeren.
    • Selecteer Verbinding testen om de gekoppelde serviceverbinding te testen die u hebt gemaakt. Als u verbinding kunt maken met uw installatie, wordt een groen vinkje Verbinding gemaakt weergegeven.
    • Selecteer Voltooien om het maken van de gekoppelde service te voltooien.
  6. Nadat u een gekoppelde service hebt ingesteld, voegt u in AzureDataExplorerTable>Connectiontabelnaam toe. Selecteer Voorbeeld van gegevens weergeven om ervoor te zorgen dat de gegevens correct worden weergegeven.

    Uw gegevensset is nu gereed en u kunt doorgaan met het bewerken van uw pijplijn.

Een query toevoegen aan uw opzoekactiviteit

  1. Voeg in pipeline-4-docs>Instellingen een query toe in het tekstvak Query , bijvoorbeeld:

    ClusterQueries
    | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb")
    | summarize count() by Database
    
  2. Wijzig indien nodig de eigenschappen Querytime-out of Geen afkapping en Alleen eerste rij . In deze stroom behouden we de standaardtime-out voor query's en schakelen we de selectievakjes uit.

    Laatste instellingen van opzoekactiviteit.

Een For-Each-activiteit maken

De For-Each-activiteit wordt gebruikt om een verzameling te herhalen en opgegeven activiteiten in een lus uit te voeren.

  1. Nu voegt u een For-Each-activiteit toe aan de pijplijn. Met deze activiteit worden de gegevens verwerkt die worden geretourneerd door de lookup-activiteit.

    • Selecteer in het deelvenster Activiteiten onder Iteratie & Voorwaardelijk de activiteit ForEach en sleep deze naar het canvas.

    • Teken een lijn tussen de uitvoer van de opzoekactiviteit en de invoer van de ForEach-activiteit in het canvas om ze te verbinden.

      ForEach-activiteit.

  2. Selecteer de ForEach-activiteit in het canvas. Op het tabblad Instellingen hieronder:

    • Schakel het selectievakje Sequential in voor een sequentiële verwerking van de lookup-resultaten of laat het selectievakje uitgeschakeld om parallelle verwerking te maken.

    • Stel Het aantal batches in.

    • Geef in Items de volgende verwijzing naar de uitvoerwaarde op: @activity('Lookup1').output.value

      ForEach-activiteitsinstellingen.

Een Azure Data Explorer Command-activiteit maken binnen de ForEach-activiteit

  1. Dubbelklik op de ForEach-activiteit in het canvas om deze te openen in een nieuw canvas om de activiteiten in ForEach op te geven.

  2. Selecteer in het deelvenster Activiteiten onder Azure Data Explorer de activiteit Azure Data Explorer Command en sleep deze naar het canvas.

    Azure Data Explorer opdrachtactiviteit.

  3. Selecteer op het tabblad Verbinding dezelfde gekoppelde service die u eerder hebt gemaakt.

    tabblad Verbinding met azure data explorer-opdrachtactiviteit.

  4. Geef op het tabblad Opdracht de volgende opdracht op:

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

    De opdracht geeft Azure Data Explorer opdracht om de resultaten van een bepaalde query te exporteren naar een blobopslag, in een gecomprimeerde indeling. Deze wordt asynchroon uitgevoerd (met behulp van de asynchrone wijzigingsfunctie). De query heeft betrekking op de databasekolom van elke rij in het resultaat van de opzoekactiviteit. De time-out van de opdracht kan ongewijzigd blijven.

    opdrachtactiviteit.

    Notitie

    De opdrachtactiviteit heeft de volgende limieten:

    • Groottelimiet: 1 MB antwoordgrootte
    • Tijdslimiet: 20 minuten (standaard), 1 uur (maximaal).
    • Indien nodig kunt u een query toevoegen aan het resultaat met behulp van AdminThenQuery om de resulterende grootte/tijd te verminderen.
  5. De pijplijn is nu klaar. U kunt teruggaan naar de hoofdpijplijnweergave door op de naam van de pijplijn te klikken.

    Azure Data Explorer-opdrachtpijplijn.

  6. Selecteer Fouten opsporen voordat u de pijplijn publiceert. De voortgang van de pijplijn kan worden bewaakt op het tabblad Uitvoer .

    uitvoer van azure data explorer-opdrachtactiviteit.

  7. U kunt alles publiceren en vervolgens de trigger Toevoegen om de pijplijn uit te voeren.

Uitvoer van beheeropdrachten

De structuur van de uitvoer van de opdrachtactiviteit wordt hieronder beschreven. Deze uitvoer kan worden gebruikt door de volgende activiteit in de pijplijn.

Geretourneerde waarde van een niet-asynchrone beheeropdracht

In een niet-asynchrone beheeropdracht is de structuur van de geretourneerde waarde vergelijkbaar met de structuur van het resultaat van de opzoekactiviteit. Het count veld geeft het aantal geretourneerde records aan. Een veld met value een vaste matrix bevat een lijst met records.

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

Geretourneerde waarde van een asynchrone beheeropdracht

In een asynchrone beheeropdracht peilt de activiteit de bewerkingstabel achter de schermen, totdat de asynchrone bewerking is voltooid of een time-out optreedt. Daarom bevat de geretourneerde waarde het resultaat van .show operations OperationId voor die opgegeven OperationId-eigenschap . Controleer de waarden van de eigenschappen Status en Status om te controleren of de bewerking is voltooid.

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