Condividi tramite


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

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

Prerequisiti

Creare una nuova pipeline

  1. Selezionare lo strumento Di matita Autore .

  2. Creare una nuova pipeline selezionando + e quindi selezionare Pipeline dall'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 Azure Data Factory supportata. L'output dell'attività Ricerca può essere usato in un'attività ForEach o in un'altra attività.

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

    selezionare attività di ricerca.

  2. L'area di disegno contiene ora l'attività Ricerca creata. Usare le schede sotto l'area di disegno per modificare i parametri pertinenti. In Generale rinominare l'attività.

    modificare l'attività di ricerca.

    Suggerimento

    Fare clic sull'area canvas vuota per visualizzare le proprietà della pipeline. Utilizzare la scheda Generale per rinominare la pipeline. La pipeline è denominata pipeline-4-docs.

Creare un set di dati di Azure Esplora dati nell'attività di ricerca

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

    aggiungere set di dati nelle impostazioni di ricerca.

  2. Selezionare il set di dati di Azure Esplora dati (Kusto) dalla finestra Nuovo set di dati. 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 Esplora dati.

  4. Viene visualizzata la nuova scheda AzureDataExplorerTable 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 dall'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 New Linked Service (Azure Esplora dati):

    Azure Esplora dati nuovo servizio collegato.

    • Selezionare Nome per il servizio collegato di Azure Esplora dati. Aggiungere Descrizione se necessario.
    • In Connetti tramite runtime di integrazione modificare le impostazioni correnti, se necessario.
    • In Metodo di selezione account selezionare il cluster usando uno dei due metodi:
      • Selezionare il pulsante di opzione Dalla sottoscrizione di Azure e selezionare l'account di sottoscrizione di Azure . Selezionare quindi il cluster. Si noti che l'elenco a discesa elenca solo i cluster appartenenti all'utente.
      • Selezionare invece immettere manualmente il pulsante di opzione e immettere l'endpoint (URL del cluster).
    • Specificare il tenant.
    • Immettere ID entità servizio. Questo valore è disponibile nella portale di Azure inID applicazione (client)Panoramica>delle registrazioni dell'app>. L'entità deve disporre delle autorizzazioni adeguate, in base al livello di autorizzazione richiesto dal comando in uso.
    • Selezionare il pulsante Chiave dell'entità servizio e immettere Chiave 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 , verrà visualizzata una connessione con segno di spunta verde.
    • Selezionare Fine per completare la creazione del servizio collegato.
  6. Dopo aver configurato un servizio collegato, in AzureDataExplorerTable>Connection aggiungere nome tabella . Selezionare Dati di anteprima per assicurarsi che i dati vengano presentati correttamente.

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

Aggiungere una query all'attività di ricerca

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

    ClusterQueries
    | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb")
    | summarize count() by Database
    
  2. Modificare il timeout query o Nessun troncamento e le proprietà di sola riga prima , in base alle esigenze. In questo flusso si mantiene il timeout di query predefinito e si deselezionano le caselle di controllo.

    Impostazioni finali dell'attività di ricerca.

Creare un'attività di For-Each

L'attività For-Each viene usata per eseguire l'iterazione su una raccolta ed eseguire attività specificate in un ciclo.

  1. Ora si aggiunge un'attività For-Each alla pipeline. Questa attività elabora i dati restituiti dall'attività Ricerca.

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

    • Disegnare una riga tra l'output dell'attività Ricerca 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 seguente:

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

    • Impostare conteggio batch.

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

      Impostazioni attività ForEach.

Creare un'attività del comando di Azure Esplora dati all'interno dell'attività ForEach

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

  2. Nel riquadro Attività, in Azure Esplora dati, selezionare l'attività Comando di Azure Esplora dati e trascinarla nell'area di disegno.

    Attività di comando di Azure Esplora dati.

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

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

  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). La query risolve la colonna di database di ogni riga nel risultato dell'attività Ricerca. Il timeout dei comandi può essere lasciato invariato.

    attività di comando.

    Nota

    L'attività di 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/il tempo risultanti.
  5. La pipeline è ora pronta. È possibile tornare alla visualizzazione pipeline principale facendo clic sul nome della pipeline.

    Pipeline di comandi di Azure Esplora dati.

  6. Selezionare Debug prima di pubblicare la pipeline. Lo stato della pipeline può essere monitorato nella scheda Output .

    output dell'attività del comando di Esplora dati di Azure.

  7. È possibile pubblicare tutto e quindi aggiungere un trigger per eseguire la pipeline.

Output dei comandi di gestione

La struttura dell'output dell'attività di comando è descritta di seguito. Questo output può essere usato dall'attività successiva nella pipeline.

Valore restituito di un comando di gestione non asincrona

In un comando di gestione non asincrona la struttura del valore restituito è simile alla struttura del risultato dell'attività Lookup. Il count campo indica 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 conterrà il risultato di .show operations OperationId per tale 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>" 
        } 
    ] 
}