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 consente di 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 Esplora dati in Azure Data Factory consente di eseguire i comandi di gestione di Azure Esplora dati 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 Azure Esplora dati.
Prerequisiti
- Una sottoscrizione di Azure. Creare un account Azure gratuito.
- Un cluster e un database di Esplora dati di Azure. Creare un cluster e un database.
- Origine dei dati.
- Data factory. Creare una data factory.
Crea una nuova pipeline
Selezionare lo strumento a forma di matita Autore .
Creare una nuova pipeline selezionando + e quindi selezionare Pipeline dall'elenco a discesa.
Creare un'attività di ricerca
Un'attività di ricerca può recuperare un set di dati da qualsiasi origine dati supportata da Azure Data Factory. L'output dell'attività Lookup può essere usato in un'attività ForEach o in un'altra attività.
Nel riquadro Attività, in Generale, selezionare l'attività Ricerca. Trascinare e rilasciarlo nell'area di disegno principale a destra.
L'area di disegno contiene ora l'attività Lookup creata. Usare le schede sotto l'area di disegno per modificare i parametri pertinenti. In Generale rinominare l'attività.
Suggerimento
Fare clic sull'area di disegno vuota per visualizzare le proprietà della pipeline. Usare 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
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.
Selezionare il set di dati azure Esplora dati (Kusto) dalla finestra Nuovo set di dati. Selezionare Continua per aggiungere il nuovo set di dati.
I nuovi parametri del set di dati di Azure Esplora dati sono visibili in Impostazioni. Per aggiornare i parametri, selezionare Modifica.
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 dall'elenco a discesa oppure selezionare + Nuovo per creare un nuovo servizio collegato.
Quando si crea un nuovo servizio collegato, viene visualizzata la pagina Nuovo servizio collegato (Azure Esplora dati):
- Selezionare Nome per Azure Esplora dati servizio collegato. Aggiungere Descrizione , se necessario.
- Se necessario, in Connetti tramite runtime di integrazione modificare le impostazioni correnti.
- In Metodo di selezione account selezionare il cluster usando uno dei due metodi seguenti:
- Selezionare il pulsante di opzione Da sottoscrizione di Azure e selezionare l'account della sottoscrizione di Azure. Selezionare quindi il cluster. Si noti che l'elenco a discesa elenca solo i cluster che appartengono all'utente.
- Selezionare invece invio manualmente pulsante di opzione e immettere l'endpoint (URL del cluster).
- Specificare il tenant.
- Immettere ID entità servizio. Questo valore è disponibile nella portale di Azure in ID applicazione (client) Panoramica>registrazioni>app. L'entità deve disporre delle autorizzazioni appropriate, 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à visualizzato un segno di spunta verde Connessione completata .
- Selezionare Fine per completare la creazione del servizio collegato.
Dopo aver configurato un servizio collegato, in AzureDataExplorerTable>Connection aggiungere Nome tabella. Selezionare Anteprima dati per assicurarsi che i dati vengano presentati correttamente.
Il set di dati è ora pronto ed è possibile continuare a modificare la pipeline.
Aggiungere una query all'attività di ricerca
In pipeline-4-docs>Impostazioni aggiungere una query nella casella di testo Query, ad esempio:
ClusterQueries | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb") | summarize count() by Database
Modificare il timeout della query o Nessun troncamento e le proprietà Solo prima riga, in base alle esigenze. In questo flusso si mantiene il timeout query predefinito e si deselezionano le caselle di controllo.
Creare un'attività For-Each
L'attività For-Each viene usata per scorrere una raccolta ed eseguire attività specificate in un ciclo.
Ora si aggiunge un'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 e trascinarla 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.
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 per creare l'elaborazione parallela.
Impostare Conteggio batch.
In Elementi specificare il riferimento seguente al valore di output: @activity('Lookup1').output.value
Creare un'attività command di Azure Esplora dati all'interno dell'attività ForEach
Fare doppio clic sull'attività ForEach nell'area di disegno per aprirla in un nuovo canvas per specificare le attività all'interno di ForEach.
Nel riquadro Attività, in Azure Esplora dati, selezionare l'attività Comando Esplora dati di Azure e trascinarla nell'area di disegno.
Nella scheda Connessione selezionare lo stesso servizio collegato creato in precedenza.
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 punta alla colonna di database di ogni riga nel risultato dell'attività Ricerca. Il timeout del comando può essere lasciato invariato.
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/tempo risultanti.
Ora la pipeline è pronta. È possibile tornare alla visualizzazione pipeline principale facendo clic sul nome della pipeline.
Selezionare Debug prima di pubblicare la pipeline. Lo stato della pipeline può essere monitorato nella scheda Output .
È possibile pubblicare tutto e quindi aggiungere 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 asincrono
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 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>"
}
]
}