Copiare dati dall'archiviazione BLOB di Azure a un database SQL in sicurezza usando endpoint privati
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
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 in sicurezza dall'archiviazione BLOB di Azure a un database SQL di Azure, consentendo l'accesso solo alle reti selezionate, usando endpoint privati nella rete virtuale gestita di Azure Data Factory. 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 Archivi dati e formati supportati. La funzionalità endpoint privati è disponibile in tutti i livelli di Azure Data Factory, quindi non è necessario alcun livello specifico per usarli. Per altre informazioni sui piani tariffari e sui piani, vedere la pagina dei prezzi di Azure Data Factory.
Nota
Se non si ha familiarità con Data Factory, vedere Introduzione ad Azure Data Factory.
In questa esercitazione vengono completati i passaggi seguenti:
- Creare una data factory.
- Creare una pipeline con un'attività di copia.
Prerequisiti
- Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
- Account di archiviazione di Azure. Come archivio dati di origine si usa un archivio BLOB. Se non si ha un account di archiviazione, vedere Creare un account di archiviazione di Azure per informazioni su come crearne uno. Assicurarsi che l'account di archiviazione consenta l'accesso solo da reti selezionate.
- Database SQL di Azure. Il database viene usato come archivio dati sink. Se non è disponibile un database SQL di Azure, vedere Creare un database SQL per crearne uno. Assicurarsi che l'account del database SQL di Azure consenta l'accesso solo da reti selezionate.
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
Aprire il Blocco note. Copiare il testo seguente e salvarlo come file emp.txt sul disco:
FirstName,LastName John,Doe Jane,Doe
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
Usare lo script SQL seguente per creare la tabella dbo.emp nel database SQL:
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);
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.
Aprire Microsoft Edge o Google Chrome. L'interfaccia utente di Data Factory è attualmente supportata solo nei Web browser Microsoft Edge e Google Chrome.
Nel menu a sinistra selezionare Crea una risorsa>Analisi>Data factory.
Nella pagina Nuova data factory immettere ADFTutorialDataFactory in Nome.
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, nomeADFTutorialDataFactory). Per informazioni sulle regole di denominazione per gli elementi di Data factory, vedere Azure Data factory - Regole di denominazione.
Selezionare la sottoscrizione di Azure in cui creare la data factory.
In Gruppo di risorse eseguire una di queste operazioni:
- Selezionare Usa esistentee scegliere un gruppo di risorse esistente dall'elenco a discesa.
- Selezionare Crea nuovoe immettere un nome per il gruppo di risorse.
Per informazioni sui gruppi di risorse, vedere l'articolo su come usare gruppi di risorse per gestire le risorse di Azure.
In Versione selezionare V2.
In Località selezionare una località per la data factory. Nell'elenco a discesa vengono visualizzate 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.
Seleziona Crea.
Al termine della creazione, la relativa notifica verrà visualizzata nel centro notifiche. Selezionare Vai alla risorsa per passare alla pagina Data Factory.
Selezionare Apri nel riquadro Apri Azure Data Factory Studio per avviare l'interfaccia utente di Data Factory in una scheda separata.
Creare un runtime di integrazione di Azure nella rete virtuale gestita di Data Factory
In questo passaggio si crea un runtime di integrazione di Azure e si abilita la rete virtuale gestita di Data Factory.
Nel portale di Data Factory passare a Gestisci e selezionare Nuovo per creare un nuovo runtime di integrazione di Azure.
Nella pagina Configurazione del runtime di integrazione scegliere il runtime di integrazione da creare in base alle funzionalità necessarie. In questa esercitazione selezionare Azure, Self-Hosted e quindi fare clic su Continua.
Selezionare Azure e quindi fare clic su Continua per creare un runtime di integrazione di Azure.
In Configurazione della rete virtuale (anteprima) selezionare Abilita.
Seleziona Crea.
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:
- Creazione del servizio collegato.
- Creazione dei set di dati di input e di output.
- Creare una pipeline.
In questa esercitazione si inizia creando una pipeline. quindi si creano i servizi collegati e i set di dati quando risultano necessari per la configurazione della pipeline.
Nella home page selezionare Esegui orchestrazione.
Nel riquadro Proprietà per la pipeline immettere CopyPipeline per il nome della pipeline.
Nella casella degli strumenti Attività espandere la categoria Move and Transform (Sposta e trasforma) e trascinare l'attività Copia dati dalla casella degli strumenti all'area di progettazione della pipeline. Immettere CopyFromBlobToSql per il nome.
Configurare un'origine
Suggerimento
In questa esercitazione si usa Chiave dell'account come tipo di autenticazione per l'archivio dati di origine. È anche possibile scegliere altri metodi di autenticazione supportati, ad esempio URI SAS,Entità servizio e Identità gestita se necessario. Per altre informazioni, vedere le sezioni corrispondenti in Copiare e trasformare i dati in archiviazione BLOB di Azure con Azure Data Factory.
Per archiviare in modo sicuro i segreti per gli archivi dati, è anche consigliabile usare Azure Key Vault. Per altre informazioni e illustrazioni, vedere Archiviare le credenziali in Azure Key Vault.
Creare il set di dati di origine e il servizio collegato
Passare alla scheda Origine. Selezionare + Nuovo per creare un set di dati di origine.
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.
Nella finestra di dialogo Selezionare il formato selezionare il tipo di formato dei dati e quindi fare clic su Continua.
Nella finestra di dialogo Imposta proprietà immettere SourceBlobDataset in Nome. Selezionare la casella di controllo Prima riga come intestazione. Selezionare + Nuovo accanto alla casella di testo Servizio collegato.
Nella finestra Nuovo servizio collegato - Archiviazione BLOB di Azure immettere AzureStorageLinkedService in Nome e selezionare l'account di archiviazione nell'elenco Nome account di archiviazione.
Assicurarsi di abilitare Creazione interattiva. L'abilitazione potrebbe richiedere circa un minuto.
Selezionare Test connessione. L'operazione dovrebbe avere esito negativo se l'account di archiviazione consente l'accesso solo da Reti selezionate e richiede che Data Factory crei un endpoint privato che deve essere approvato prima dell'uso. Nel messaggio di errore verrà visualizzato un collegamento che è possibile seguire per creare un endpoint privato gestito. In alternativa, è possibile passare direttamente alla scheda Gestisci e seguire le istruzioni della sezione successiva per creare un endpoint privato gestito.
Nota
La scheda Gestisci potrebbe non essere disponibile per tutte le istanze di data factory. Se non viene visualizzata, è possibile accedere agli endpoint privati selezionando Autore>Connessioni >Endpoint privato.
Tenere aperta la finestra di dialogo e quindi passare all'account di archiviazione.
Seguire le istruzioni riportate in questa sezione per approvare il collegamento privato.
Tornare nella finestra di dialogo. Selezionare di nuovo Test connessione e selezionare Crea per distribuire il servizio collegato.
Al termine della creazione del servizio collegato si tornerà alla pagina Imposta proprietà. Selezionare Sfoglia accanto a Percorso file.
Passare alla cartella adftutorial/input, selezionare il file emp.txt e quindi selezionare OK.
Seleziona 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.
Creare un endpoint privato gestito
Se non è stato selezionato il collegamento ipertestuale durante il test della connessione, seguire il percorso. A questo punto è necessario creare un endpoint privato gestito che verrà connesso al servizio collegato creato.
Passare alla scheda Gestisci.
Nota
La scheda Gestisci potrebbe non essere disponibile per tutte le istanze di Data Factory. Se non viene visualizzata, è possibile accedere agli endpoint privati selezionando Autore>Connessioni >Endpoint privato.
Passare alla sezione Managed private endpoints (Endpoint privati gestiti).
Selezionare + Nuovo in Managed private endpoints (Endpoint privati gestiti).
Selezionare il riquadro Archiviazione BLOB di Azure nell'elenco e quindi selezionare Continua.
Immettere il nome dell'account di archiviazione creato.
Seleziona Crea.
Dopo alcuni secondi si noterà che il collegamento privato creato necessita dell'approvazione.
Selezionare l'endpoint privato creato. Verrà visualizzato un collegamento ipertestuale, seguendo il quale sarà possibile approvare l'endpoint privato a livello di account di archiviazione.
Approvazione di un collegamento privato in un account di archiviazione
Nell'account di archiviazione passare a Connessioni a endpoint privato nella sezione Impostazioni.
Selezionare la casella di controllo per l'endpoint privato creato e selezionare Approva.
Aggiungere una descrizione e selezionare sì.
Tornare nella sezione Managed private endpoints (Gestisci endpoint privati) della scheda Gestisci in Data Factory.
Dopo un paio di minuti dovrebbe essere visualizzata l'approvazione dell'endpoint privato nell'interfaccia utente di Data Factory.
Configurare un sink
Suggerimento
In questa esercitazione si userà Autenticazione SQL come tipo di autenticazione per l'archivio dati sink. È anche possibile scegliere altri metodi di autenticazione supportati, ad esempio Entità servizio e Identità gestita se necessario. Per altre informazioni, vedere le sezioni corrispondenti in Copiare e trasformare i dati nel database SQL di Azure con Azure Data Factory.
Per archiviare in modo sicuro i segreti per gli archivi dati, è anche consigliabile usare Azure Key Vault. Per altre informazioni e illustrazioni, vedere Archiviare le credenziali in Azure Key Vault.
Creare un set di dati sink e un collegamento privato
Passare alla scheda Sink e selezionare + Nuovo per creare un set di dati sink.
Nella finestra di dialogo Nuovo set di dati immettere SQL nella casella di ricerca per filtrare i connettori. Selezionare Database SQL di Azure e quindi selezionare Continua. In questa esercitazione si copiano i dati in un database SQL.
Nella finestra di dialogo Imposta proprietà immettere OutputSqlDataset in Nome. Nell'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.
Nella finestra di dialogo Nuovo servizio collegato - Database SQL di Azure seguire questa procedura:
- In Nome immettere AzureSqlDatabaseLinkedService.
- In Nome server selezionare l'istanza di SQL Server.
- Assicurarsi di abilitare Creazione interattiva.
- In Nome database selezionare il database SQL.
- In Nome utente immettere il nome dell'utente.
- In Password immettere la password dell'utente.
- Selezionare Test connessione. Il test dovrebbe avere esito negativo perché il server SQL consente l'accesso solo da Reti selezionate e richiede che Data Factory crei un endpoint privato che deve essere approvato prima dell'uso. Nel messaggio di errore verrà visualizzato un collegamento che è possibile seguire per creare un endpoint privato gestito. In alternativa, è possibile passare direttamente alla scheda Gestisci e seguire le istruzioni della sezione successiva per creare un endpoint privato gestito.
- Tenere aperta la finestra di dialogo e quindi passare al server SQL selezionato.
- Seguire le istruzioni riportate in questa sezione per approvare il collegamento privato.
- Tornare nella finestra di dialogo. Selezionare di nuovo Test connessione e selezionare Crea per distribuire il servizio collegato.
Si passerà automaticamente alla finestra di dialogo Imposta proprietà. In Tabella selezionare [dbo].[emp]. Quindi, selezionare OK.
Passare alla scheda con la pipeline e verificare che in Sink Dataset (Set di dati sink) sia selezionato OutputSqlDataset.
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.
Creare un endpoint privato gestito
Se non è stato selezionato il collegamento ipertestuale durante il test della connessione, seguire il percorso. A questo punto è necessario creare un endpoint privato gestito che verrà connesso al servizio collegato creato.
Passare alla scheda Gestisci.
Passare alla sezione Managed private endpoints (Endpoint privati gestiti).
Selezionare + Nuovo in Managed private endpoints (Endpoint privati gestiti).
Selezionare il riquadro Database SQL di Azure nell'elenco e quindi selezionare Continua.
Immettere il nome del server SQL selezionato.
Seleziona Crea.
Dopo alcuni secondi si noterà che il collegamento privato creato necessita dell'approvazione.
Selezionare l'endpoint privato creato. Verrà visualizzato un collegamento ipertestuale, seguendo il quale sarà possibile approvare l'endpoint privato a livello di server SQL.
Approvazione di un collegamento privato nel server SQL
- Nel server SQL passare a Connessioni a endpoint privato nella sezione Impostazioni.
- Selezionare la casella di controllo per l'endpoint privato creato e selezionare Approva.
- Aggiungere una descrizione e selezionare sì.
- Tornare nella sezione Managed private endpoints (Gestisci endpoint privati) della scheda Gestisci in Data Factory.
- L'approvazione per l'endpoint privato dovrebbe essere visualizzata nel giro di un paio di minuti.
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.
- 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.
- 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.
- Attendere fino alla visualizzazione del messaggio Pubblicazione riuscita. Per visualizzare i messaggi di notifica, selezionare Mostra notifiche nell'angolo superiore destro (pulsante a forma di campanello).
Riepilogo
La pipeline in questo esempio copia i dati dall'archiviazione BLOB al database SQL usando un endpoint privato in una rete virtuale gestita di Data Factory. Contenuto del modulo:
- Creare una data factory.
- Creare una pipeline con un'attività di copia.