Condividi tramite


Usare l'attività dei comandi di Azure Data Factory per eseguire i comandi di gestione di Azure Esplora dati

Azure Data Factory (ADF) è un servizio di integrazione dei dati basato sul cloud che è possibile usare per eseguire una combinazione di attività sui dati. Usare Azure Data Factory per creare flussi di lavoro basati sui dati per orchestrare e automatizzare lo spostamento e la trasformazione dei dati. L'attività Comando di Azure Data Explorer in Azure Data Factory consente di eseguire comandi di gestione di Azure Data Explorer all'interno di un flusso di lavoro di Azure Data Factory. Questo articolo illustra come creare una pipeline con un'attività di ricerca e un'attività ForEach contenente un'attività di comando di Esplora dati di Azure.

Prerequisiti

Crea una nuova pipeline

  1. Selezionare lo strumento a forma di matita Autore .

  2. Creare una nuova pipeline selezionando + e quindi selezionare Pipeline nell'elenco a discesa.

    creare una nuova pipeline.

Creare un'attività di ricerca

Un'attività di ricerca può recuperare un set di dati da qualsiasi origine dati supportata da Azure Data Factory. È possibile utilizzare l'output dell'attività Lookup all'interno di un'attività ForEach o altra attività.

  1. Nel riquadro Attività, in Generale, selezionare l'attività Ricerca. Trascinare e rilasciarlo nell'area di disegno principale a destra.

    selezionare l'attività di ricerca.

  2. Ora il canvas contiene l'attività di Lookup che hai creato. Usare le schede sotto l'area di disegno per modificare i parametri pertinenti. In Generale rinominare l'attività.

    modificare l'attività di ricerca.

    Suggerimento

    Selezionare l'area canvas vuota per visualizzare le proprietà della pipeline. Usare la scheda Generale per rinominare la pipeline. La pipeline è denominata pipeline-4-docs.

Creare un dataset di Azure Data Explorer nell'attività di ricerca

  1. In Impostazioni selezionare il set di dati di origine di Azure Esplora dati creato in modo predefinito oppure selezionare + Nuovo per creare un nuovo set di dati.

    aggiungere set di dati nelle impostazioni di ricerca.

  2. Selezionare il dataset Azure Esplora Dati (Kusto) dalla finestra Nuovo Dataset. Selezionare Continua per aggiungere il nuovo set di dati.

    selezionare nuovo set di dati.

  3. I nuovi parametri del set di dati di Azure Esplora dati sono visibili in Impostazioni. Per aggiornare i parametri, selezionare Modifica.

    Impostazioni di ricerca con set di dati di Azure Data Explorer.

  4. La nuova scheda AzureDataExplorerTable viene aperta nell'area di disegno principale.

    • Selezionare Generale e modificare il nome del set di dati.
    • Selezionare Connessione per modificare le proprietà del set di dati.
    • Selezionare il servizio collegato nell'elenco a discesa oppure selezionare + Nuovo per creare un nuovo servizio collegato.

    Modificare le proprietà del set di dati di Azure Esplora dati.

  5. Quando si crea un nuovo servizio collegato, viene visualizzata la pagina Nuovo servizio collegato (Azure Esplora dati):

    Azure Data Explorer nuovo servizio collegato.

    • Selezionare Nome per il servizio collegato di Azure Data Explorer. Aggiungere Descrizione , se necessario.
    • In Connetti tramite runtime di integrazione, modificare le impostazioni correnti, se necessario.
    • In Metodo di selezione account selezionare il cluster utilizzando uno dei due metodi seguenti:
      • Selezionare il pulsante di opzione Da sottoscrizione di Azure e selezionare l'account della sottoscrizione di Azure. Seleziona quindi il Cluster. L'elenco a discesa elenca solo i cluster che appartengono all'utente.
      • Seleziona invece il pulsante di opzione 'Inserisci manualmente' e immetti il tuo Endpoint (URL del cluster).
    • Specificare il tenant.
    • Immettere ID principale del servizio. Trovare questo valore nel Azure portal in App Registrations>Overview>Application (client) ID. Il principale deve disporre dei permessi adeguati, secondo il livello di permesso richiesto dal comando in uso.
    • Selezionare il pulsante Chiave dell'entità servizio e immettere Chiave dell'entità servizio.
    • Selezionare il database dal menu a discesa. In alternativa, selezionare Modifica casella di controllo e immettere il nome del database.
    • Selezionare Test connessione per testare la connessione al servizio collegato creata. Se è possibile connettersi alla configurazione, viene visualizzato un segno di spunta verde Connessione completata .
    • Selezionare Fine per completare la creazione del servizio collegato.
  6. Dopo aver configurato un servizio collegato, in Connessione AzureDataExplorerTable> aggiungere il nome della tabella. Selezionare Anteprima dati per assicurarsi che i dati vengano presentati correttamente.

    Il set di dati è pronto ed è possibile continuare a modificare la pipeline.

Aggiungere una query all'attività di ricerca

  1. In Impostazioni pipeline-4-docs>, aggiungere una query nella casella di testo Query, ad esempio:

    ClusterQueries
    | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb")
    | summarize count() by Database
    
  2. Modificare le proprietà Timeout query, Nessun troncamento e Solo prima riga, in base alle esigenze. In questo flusso mantenere il timeout query predefinito e deselezionare le checkbox.

    Impostazioni finali dell'attività di ricerca.

Crea un'attività di tipo For-Each

Usare l'attività For-Each per scorrere una raccolta ed eseguire attività specificate in un ciclo.

  1. Aggiungere l'attività For-Each alla pipeline. Questa attività elabora i dati restituiti dall'attività Lookup.

    • Nel riquadro Attività , in Iterazione e condizionali, selezionare l'attività ForEach . Trascinare e rilasciarlo nell'area di disegno.

    • Disegnare una linea tra l'output dell'attività Lookup e l'input dell'attività ForEach nell'area di disegno per connetterli.

      Attività ForEach.

  2. Selezionare l'attività ForEach nell'area di disegno. Nella scheda Impostazioni:

    • Selezionare la casella di controllo Sequenziale per un'elaborazione sequenziale dei risultati della ricerca oppure lasciare deselezionata per creare l'elaborazione parallela.

    • Impostare il conteggio batch.

    • In Elementi specificare il riferimento seguente al valore di output: @activity('Lookup1').output.value

      Impostazioni dell'attività ForEach.

Creare un'attività di comando di Azure Data Explorer all'interno dell'attività ForEach

  1. Fare doppio clic sull'attività ForEach nell'area di disegno per aprirla in un nuovo canvas. Specificare le attività all'interno di ForEach.

  2. Nel riquadro Attività, in Azure Data Explorer, selezionare l'attività Comando Azure Data Explorer e trascinarla nell'area di lavoro.

    Attività del comando Esplora dati di Azure.

  3. Nella scheda Connessione selezionare lo stesso servizio collegato creato in precedenza.

    scheda di connessione dell'attività di comando Esplora di Azure Dati.

  4. Nella scheda Comando specificare il comando seguente:

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

    Il comando indica ad Azure Esplora dati di esportare i risultati di una determinata query in un archivio BLOB, in un formato compresso. Viene eseguito in modo asincrono (usando il modificatore asincrono). L'interrogazione si riferisce alla colonna del database di ogni riga nel risultato dell'attività di ricerca. È possibile lasciare invariato il timeout del comando .

    attività del comando.

    Nota

    L'attività del comando presenta i limiti seguenti:

    • Limite di dimensioni: dimensioni della risposta di 1 MB
    • Limite di tempo: 20 minuti (impostazione predefinita), 1 ora (massimo).
    • Se necessario, è possibile aggiungere una query al risultato usando AdminThenQuery per ridurre le dimensioni o il tempo risultanti.
  5. Ora la pipeline è pronta. È possibile tornare alla visualizzazione pipeline principale selezionando il nome della pipeline.

    Pipeline dei comandi di Azure Data Explorer.

  6. Selezionare Debug prima di pubblicare la pipeline. È possibile monitorare lo stato della pipeline nella scheda Output .

    output dell'attività del comando di Azure Data Explorer.

  7. Selezionare Pubblica tutto e poi Aggiungi trigger per avviare la pipeline.

Output dei comandi di gestione

La sezione seguente descrive la struttura dell'output dell'attività del comando. La prossima attività nel flusso di lavoro può utilizzare questo output.

Valore restituito di un comando di gestione non asincrono

In un comando di gestione non asincrona la struttura del valore restituito è simile alla struttura del risultato dell'attività Lookup. Il count campo mostra il numero di record restituiti. Un campo value matrice fissa contiene un elenco di record.

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

Valore restituito di un comando di gestione asincrona

In un comando di gestione asincrona, l'attività esegue il polling della tabella delle operazioni in background fino al completamento o al timeout dell'operazione asincrona. Pertanto, il valore restituito contiene il risultato di .show operations OperationId per la proprietà OperationId specificata. Controllare i valori delle proprietà State e Status per verificare il completamento dell'operazione.

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