Copiare dati da Archiviazione BLOB di Azure a un database nel database SQL di Azure con Azure Data Factory

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

In questa esercitazione viene creata una data factory con l'interfaccia utente di Azure Data Factory. La pipeline in questa data factory copia i dati da Archiviazione BLOB di Azure al database del database SQL di Azure. Il modello di configurazione di questa esercitazione si applica alla copia da un archivio dati basato su file a un archivio dati relazionale. Per un elenco degli archivi dati supportati come origini e sink, vedere la tabella degli archivi dati supportati.

Nota

Se non si ha familiarità con Data Factory, vedere Introduzione ad Azure Data Factory.

In questa esercitazione si segue questa procedura:

  • Creare una data factory.
  • Creare una pipeline con un'attività di copia.
  • Eseguire test della pipeline.
  • Attivare manualmente la pipeline.
  • Attivare la pipeline in base a una pianificazione.
  • Monitorare le esecuzioni di pipeline e attività.

Prerequisiti

Creare un BLOB e una tabella SQL

Preparare ora l'archivio BLOB di Azure e il database SQL per l'esercitazione seguendo questa procedura.

Creare un BLOB di origine

  1. Avviare il Blocco note. Copiare il testo seguente e salvarlo come file emp.txt sul disco:

    FirstName,LastName
    John,Doe
    Jane,Doe
    
  2. Creare un contenitore denominato adftutorial nell'archivio BLOB. Creare una cartella denominata input in questo contenitore. Caricare quindi il file emp.txt nella cartella input. Usare il portale di Azure o strumenti come Azure Storage Explorer per eseguire queste attività.

Creare una tabella SQL sink

  1. Usare lo script SQL seguente per creare la tabella dbo.emp nel database:

    CREATE TABLE dbo.emp
    (
        ID int IDENTITY(1,1) NOT NULL,
        FirstName varchar(50),
        LastName varchar(50)
    )
    GO
    
    CREATE CLUSTERED INDEX IX_emp_ID ON dbo.emp (ID);
    
  2. Consentire ai servizi di Azure di accedere a SQL Server. Assicurarsi che l'opzione Consenti l'accesso a Servizi di Azure sia impostata su per SQL Server in modo che Data Factory possa scrivere dati in SQL Server. Per verificare e attivare questa impostazione, passare a Panoramica di SQL Server > logico Configurare il firewall> del server impostare l'opzione Consenti l'accesso ai servizi di Azure su ON.>

Creare una data factory

In questo passaggio si crea una data factory e si avvia l'interfaccia utente di Data Factory per creare una pipeline nella data factory.

  1. Aprire Microsoft Edge o Google Chrome. L'interfaccia utente di Data Factory è attualmente supportata solo nei Web browser Microsoft Edge e Google Chrome.

  2. Nel menu sinistro selezionare Crea una risorsa>Integrazione>Data factory.

  3. Nella scheda Informazioni di base della pagina Crea data factory selezionare la sottoscrizione di Azure in cui si vuole creare la data factory.

  4. In Gruppo di risorse eseguire una di queste operazioni:

    a. Selezionare un gruppo di risorse esistente dall'elenco a discesa.

    b. Selezionare Crea nuovo e immettere il nome di un nuovo gruppo di risorse.

    Per informazioni sui gruppi di risorse, vedere l'articolo su come usare gruppi di risorse per gestire le risorse di Azure.

  5. In Area selezionare una località per la data factory. Nell'elenco a discesa vengono mostrate solo le località supportate. Gli archivi dati (ad esempio, Archiviazione di Azure e il database SQL) e le risorse di calcolo (ad esempio, Azure HDInsight) usati dalla data factory possono trovarsi in altre aree.

  6. In Nome immettere ADFTutorialDataFactory.

    Il nome della data factory di Azure deve essere univoco a livello globale. Se viene visualizzato un messaggio di errore relativo al valore del nome, immettere un nome diverso per la data factory. Ad esempio, nomeutenteADFTutorialDataFactory. Per informazioni sulle regole di denominazione per gli elementi di Data factory, vedere Azure Data factory - Regole di denominazione.

    New data factory error message for duplicate name.

  7. In Versione selezionare V2.

  8. Selezionare la scheda Configurazione GIT nella parte superiore e quindi la casella di controllo Configure Git later (Configura GIT in un secondo momento).

  9. Selezionare Rivedi e crea e quindi, una volta superata la convalida, selezionare Crea.

  10. Al termine della creazione, la relativa notifica verrà visualizzata nel centro notifiche. Selezionare Vai alla risorsa per passare alla pagina della data factory.

  11. Selezionare Apri nel riquadro Apri Azure Data Factory Studio per avviare l'interfaccia utente di Azure Data Factory in una scheda separata.

Creare una pipeline

In questo passaggio si crea una pipeline con un'attività di copia nella data factory. L'attività copia i dati dall'archivio BLOB al database SQL. Nell'Esercitazione introduttiva è stata creata una pipeline con questa procedura:

  1. Creazione del servizio collegato.
  2. Creazione dei set di dati di input e di output.
  3. Creare una pipeline.

In questa esercitazione si crea inizialmente la pipeline, quindi si creano i servizi collegati e i set di dati quando risultano necessari per la configurazione della pipeline.

  1. Nella home page selezionare Orchestrate.On the home page, select Orchestrate.

    Screenshot that shows the ADF home page.

  2. Nel pannello Generale in Proprietà specificare CopyPipeline per Nome. Comprimere quindi il pannello facendo clic sull'icona Proprietà nell'angolo in alto a destra.

  3. Nella casella degli strumenti Attività espandere la categoria Move & Transform (Sposta e trasforma) e trascinare l'attività Copia dati dalla casella degli strumenti all'area di progettazione della pipeline. Specificare CopyFromBlobToSql per Nome.

    Copy activity

Configurare l'origine

Suggerimento

In questa esercitazione si usa La chiave account come tipo di autenticazione per l'archivio dati di origine, ma è possibile scegliere altri metodi di autenticazione supportati: URI di firma di accesso condiviso, entità servizio e identità gestita, se necessario. Per informazioni dettagliate, vedere le sezioni corrispondenti in questo articolo. Per archiviare in modo sicuro i segreti per gli archivi dati, è anche consigliabile usare il servizio Azure Key Vault. Per le spiegazioni dettagliate, vedere questo articolo.

  1. Passare alla scheda Origine . Selezionare + Nuovo per creare un set di dati di origine.

  2. Nella finestra di dialogo Nuovo set di dati selezionare Archiviazione BLOB di Azure e quindi Continua. I dati di origine si trovano in un archivio BLOB, quindi come set di dati di origine si seleziona Archiviazione BLOB di Azure.

  3. Nella finestra di dialogo Select Format (Seleziona formato) scegliere il tipo di formato dei dati e quindi fare clic su Continua.

  4. Nella finestra di dialogo Set Properties (Imposta proprietà) immettere SourceBlobDataset come nome. Selezionare la casella di controllo Prima riga come intestazione. Selezionare + Nuovo accanto alla casella di testo Servizio collegato.

  5. Nella finestra New Linked Service (Azure Blob Storage) (Nuovo servizio collegato - Archiviazione BLOB di Azure) immettere AzureStorageLinkedService come nome e selezionare l'account di archiviazione nell'elenco Nome account di archiviazione. Testare la connessione e quindi selezionare Crea per distribuire il servizio collegato.

  6. Al termine della creazione del servizio collegato verrà visualizzata di nuovo la pagina Set properties (Imposta proprietà). Selezionare Sfoglia accanto a Percorso file.

  7. Passare alla cartella adftutorial/input, selezionare il file emp.txt e quindi scegliere OK.

  8. Selezionare OK. Si passerà automaticamente alla pagina della pipeline. Nella scheda Origine verificare che sia selezionato il set di dati SourceBlobDataset. Per visualizzare l'anteprima dei dati in questa pagina, selezionare Anteprima dati.

    Source dataset

Configurare il sink

Suggerimento

In questa esercitazione si usa l'autenticazione SQL come tipo di autenticazione per l'archivio dati sink, ma è possibile scegliere altri metodi di autenticazione supportati: Entità servizio e Identità gestita, se necessario. Per informazioni dettagliate, vedere le sezioni corrispondenti in questo articolo. Per archiviare in modo sicuro i segreti per gli archivi dati, è anche consigliabile usare il servizio Azure Key Vault. Per le spiegazioni dettagliate, vedere questo articolo.

  1. Passare alla scheda Sink e selezionare + Nuovo per creare un set di dati sink.

  2. Nella finestra di dialogo Nuovo set di dati immettere "SQL" nella casella di ricerca per filtrare i connettori e selezionare Database SQL di Azure e quindi Continua. In questa esercitazione si copiano i dati in un database SQL.

  3. Nella finestra di dialogo Set Properties (Imposta proprietà) immettere OutputSqlDataset come nome. Dall'elenco a discesa Servizio collegato selezionare + Nuovo. È necessario associare un set di dati a un servizio collegato. Il servizio collegato contiene la stringa di connessione usata da Data Factory per connettersi al database SQL in fase di esecuzione. Il set di dati specifica il contenitore, la cartella e il file (facoltativo) in cui vengono copiati i dati.

  4. Nella finestra di dialogo New Linked Service (Azure SQL Database) (Nuovo servizio collegato - Database SQL di Azure) seguire questa procedura:

    a. In Nome immettere AzureSqlDatabaseLinkedService.

    b. In Nome server selezionare l'istanza di SQL Server.

    c. In Nome database selezionare il database.

    d. In Nome utente immettere il nome dell'utente.

    e. In Password immettere la password dell'utente.

    f. Selezionare Test connessione per testare la connessione.

    g. Selezionare Crea per distribuire il servizio collegato.

    Save new linked service

  5. Si passerà automaticamente alla finestra di dialogo Set Properties (Imposta proprietà). In Tabella selezionare [dbo].[emp]. Selezionare OK.

  6. Passare alla scheda con la pipeline e verificare che in Sink Dataset (Set di dati sink) sia selezionato OutputSqlDataset.

    Pipeline tab

Facoltativamente, è possibile eseguire il mapping dello schema dell'origine allo schema corrispondente della destinazione seguendo le indicazioni riportate in Mapping dello schema nell'attività di copia.

Convalidare la pipeline

Per convalidare la pipeline, selezionare Convalida dalla barra degli strumenti.

È possibile visualizzare il codice JSON associato alla pipeline facendo clic su Codice in alto a destra.

Eseguire il debug della pipeline e pubblicarla

È possibile eseguire il debug di una pipeline prima di pubblicare gli artefatti (servizi collegati, set di dati e pipeline) in Data Factory o nel proprio repository GIT di Azure Repos.

  1. Per eseguire il debug della pipeline, selezionare Debug sulla barra degli strumenti. Lo stato dell'esecuzione della pipeline verrà visualizzato nella scheda Output nella parte inferiore della finestra.

  2. Quando è possibile eseguire correttamente la pipeline, nella barra degli strumenti superiore selezionare Pubblica tutto. Questa azione pubblica le entità create (set di dati e pipeline) in Data Factory.

  3. Attendere fino alla visualizzazione del messaggio Pubblicazione riuscita. Per visualizzare i messaggi di notifica, fare clic su Mostra notifiche in alto a destra (pulsante con il campanello).

Attivare manualmente la pipeline

In questo passaggio si attiva manualmente la pipeline pubblicata nel passaggio precedente.

  1. Selezionare Trigger sulla barra degli strumenti e quindi selezionare Trigger Now (Attiva adesso). Nella pagina Esecuzione della pipeline selezionare OK.

  2. Passare alla scheda Monitoraggio a sinistra. Viene visualizzata un'esecuzione della pipeline attivata da un trigger manuale. È possibile usare i collegamenti nella colonna NOME PIPELINE per visualizzare i dettagli delle attività ed eseguire di nuovo la pipeline.

    Monitor pipeline runs

  3. Per visualizzare le esecuzioni di attività associate all'esecuzione della pipeline, selezionare il collegamento CopyPipeline in NOME PIPELINE. In questo esempio è presente una sola attività, quindi nell'elenco viene visualizzata una sola voce. Per informazioni dettagliate sull'operazione di copia, selezionare il collegamento Dettagli (icona a forma di occhiali) nella colonna NOME ATTIVITÀ. Per tornare alla visualizzazione Esecuzioni della pipeline, selezionare Tutte le esecuzioni di pipeline in alto. Per aggiornare la visualizzazione, selezionare Aggiorna.

    Monitor activity runs

  4. Verificare l'aggiunta di altre due righe alla tabella emp nel database.

Attivare la pipeline in base a una pianificazione

In questa pianificazione si crea un trigger di pianificazione per la pipeline. Il trigger esegue la pipeline in base alla pianificazione specificata, ad esempio ogni ora oppure ogni giorno. In questo caso si imposta il trigger per l'esecuzione ogni minuto fino al valore di data e ora di fine specificato.

  1. Passare alla scheda Autore a sinistra sopra la scheda Monitoraggio.

  2. Accedere alla pipeline, fare clic su Trigger sulla barra degli strumenti e selezionare New/Edit (Nuovo/Modifica).

  3. Nella finestra di dialogo Aggiungi trigger selezionare + Nuovo nell'area Scegliere un trigger.

  4. Nella finestra Nuovo trigger seguire questa procedura:

    a. In Nome immettere RunEveryMinute.

    b. Aggiornare il valore di Data di inizio per il trigger. Se la data è antecedente a quella corrente, il trigger inizierà ad avere effetto dopo la pubblicazione della modifica.

    c. In Fuso orario selezionare l'elenco a discesa.

    d. Impostare Ricorrenza su Ogni 1 minuti.

    e. Selezionare la casella di controllo Specify an end date (Specificare una data di fine) e aggiornare la parte End On (Data/ora di fine) in modo che ricada alcuni minuto dopo la data/ora corrente. Il trigger viene attivato solo dopo la pubblicazione delle modifiche. Se lo si imposta a pochi minuti di distanza e non viene pubblicato in quel lasso di tempo, il trigger non verrà eseguito.

    f. Per l'opzione Attivato selezionare .

    g. Selezionare OK.

    Importante

    Dato che a ogni esecuzione della pipeline è associato un costo, impostare correttamente la data di fine.

  5. Nella pagina Modifica trigger esaminare l'avviso e quindi selezionare Salva. La pipeline di questo esempio non accetta alcun parametro.

  6. Fare clic su Pubblica tutto per pubblicare la modifica.

  7. Passare alla scheda Monitoraggio a sinistra per visualizzare le esecuzioni della pipeline attivate.

    Triggered pipeline runs

  8. Per passare dalla visualizzazione Esecuzioni della pipeline alla visualizzazione Esecuzioni trigger selezionare Esecuzioni trigger nella parte superiore della finestra.

  9. Verrà visualizzato l'elenco di esecuzioni di trigger.

  10. Verificare che vengano inserite due righe per ogni minuto (per ogni esecuzione di pipeline) nella tabella emp fino alla data e ora di fine specificata.

La pipeline di questo esempio copia i dati da una posizione a un'altra in un archivio BLOB. Contenuto del modulo:

  • Creare una data factory.
  • Creare una pipeline con un'attività di copia.
  • Eseguire test della pipeline.
  • Attivare manualmente la pipeline.
  • Attivare la pipeline in base a una pianificazione.
  • Monitorare le esecuzioni di pipeline e attività.

Passare all'esercitazione successiva per informazioni sulla copia di dati dall'ambiente locale al cloud: