Condividi tramite


Usare i dati dei clienti in Fabric

Microsoft Fabric OneLake è un data lake unificato e logico per l'intera organizzazione, progettato per essere il luogo unico per tutti i dati analitici. Viene fornito automaticamente con ogni tenant di Microsoft Fabric ed è basato su Azure Data Lake Storage (ADLS) Gen2. OneLake supporta qualsiasi tipo di file, strutturato o non strutturato e archivia tutti i dati tabulari in formato Delta Parquet. Consente la collaborazione tra gruppi aziendali diversi fornendo un singolo data lake regolato per impostazione predefinita con la proprietà distribuita per la collaborazione entro i limiti di un tenant. Le aree di lavoro all'interno di un tenant consentono a diverse parti dell'organizzazione di distribuire i criteri di proprietà e di accesso e tutti i dati in OneLake possono essere accessibili tramite elementi di dati come Lakehouses e Warehouse.

In termini di archivi dati, OneLake funge da posizione di archiviazione comune per l'inserimento, la trasformazione, le informazioni dettagliate in tempo reale e le visualizzazioni di Business Intelligence. Centralizza i diversi servizi di Fabric ed è lo spazio di archiviazione per gli elementi di dati utilizzati da tutti i carichi di lavoro in Fabric.

Come leggere e scrivere i dati in Microsoft Fabric

Microsoft Fabric è una piattaforma che consente l'archiviazione e la gestione dei dati dei clienti. Per leggere e scrivere dati in Fabric, è necessario usare le API REST di Fabric e i metodi di autenticazione appropriati.

Autorizzazioni API

Alcuni metodi di accesso ai dati dei clienti richiedono l'uso di altri servizi all'esterno di Fabric, ad esempio Archiviazione di Azure o database SQL di Azure. Nell'esempio del Kit di sviluppo di Microsoft Fabric, ad esempio, l'autorizzazione API Archiviazione di Azure user_impersonation viene usata insieme all'autorizzazione del servizio Power BI Lakehouse.Read.All per accedere ai dati da Lakehouses.

È possibile usare il database SQL di Azure per accedere ai dati della tabella dagli elementi warehouse. In questo caso, configurare l'app con database SQL di Azure user_impersonation per eseguire query sul database per conto dell'utente e servizio Power BI Warehouse.Read.All per eseguire query sull'endpoint Get Warehouse dell'API REST di Fabric.

Assicurarsi di configurare l'app Microsoft Entra ID in base alle esigenze di sviluppo.

Autenticazione

Prima di iniziare a usare le API REST di Fabric o altri servizi, ad esempio Archiviazione di Azure e database SQL di Azure, per conto dell'utente, è necessario eseguire l'autenticazione usando un token. Questo token può essere ottenuto tramite un processo di scambio di token.

Il Kit di sviluppo dei carichi di lavoro Fabric SDK fornisce un metodo per acquisire un token di accesso nel front-end del carico di lavoro. Ad esempio, vedere Controller del carico di lavoro di esempio.

Questo token client deve essere passato al back-end del carico di lavoro e scambiato usando il flusso on-behalf-of per un token con gli ambiti necessari per accedere alle risorse necessarie, ad esempio OneLake. Ad esempio, per accedere e leggere da un Lakehouse, un utente deve autorizzare l'applicazione a effettuare chiamate API per loro conto usando l'autorizzazione user_impersonation di Archiviazione di Azure. Quindi, nel back-end, il token di accesso deve essere ottenuto con l'ambito https://storage.azure.com/user_impersonation delegato per usare Archiviazione di Azure.

Se si decide di usare SQL per accedere ai dati dei clienti, il token di accesso deve essere ottenuto con l'ambito https://database.windows.net//user_impersonation per usare database SQL di Azure e lo spazio dei nomi Microsoft.Data.SqlClient. Il token di accesso deve essere usato come scritto, con due barre prima di user_impersonation, per essere convalidato dalla classe SQLConnection. Per altri esempi di autenticazione basata su token, vedere l'esempio del Kit di sviluppo dei carichi di lavoro Microsoft Fabric.

Altre informazioni su come ottenere un token sono disponibili nella documentazione API REST di sviluppo dei carichi di lavoro di Microsoft Fabric.

Leggere metadata

Le API REST di Fabric consentono di accedere alle proprietà degli elementi. Ad esempio, la query Get Lakehouse API fornisce i metadati per un determinato Lakehouse, incluse proprietà utili, ad esempio percorsi OneLake e stringa di connessione SQL. Un altro endpoint utile è Get Warehouse API, che restituisce le informazioni seguenti:

    {
        Id: Guid
        Type: string
        DisplayName: string
        Description: string
        WorkspaceId: Guid
        Properties {
            ConnectionInfo: string
            CreatedDate: DateTime
            LastUpdatedTime: DateTime
        }
    }

In questo caso, la proprietà "ConnectionInfo" è il nome di dominio completo (FQDN) di Warehouse SQL Server. Con questo FQDN è possibile stabilire una connessione SQL. Per altre informazioni, vedere Connettività al Data Warehousing in Microsoft Fabric. Per esempi di implementazione, vedere Kit di sviluppo dei carichi di lavoro di Microsoft Fabric.

Lettura dei dati

Dopo l'autenticazione, è possibile connettersi a OneLake usando le API REST di Azure Data Lake Storage per leggere tipi diversi di dati. È consigliabile usare il protocollo Delta Lake per leggere le tabelle.

In alternativa, se si sceglie di utilizzare database SQL di Azure, è possibile implementare la procedura seguente per leggere i dati da un warehouse.

  1. Creare un contesto di autorizzazione. Per un esempio di creazione di un contesto di autorizzazione, vedere il metodo AuthenticateDataPlaneCall.

  2. Acquisire un token con l'ambito Warehouse.Read.All per conto dell'utente usando il token di connessione passato dal front-end.

  3. Usare il token Fabric per richiamare Get Warehouse API. È necessario accedere alle informazioni di connessione e al nome visualizzato del warehouse, ovvero il catalogo iniziale del server.

  4. Acquisire un token con ambiti SQL per conto dell'utente. Per stabilire correttamente una connessione SQL, usare l'ambito https://database.windows.net//user_impersonation.

  5. Usare il token SQL e le informazioni di connessione per aprire una connessione SQL:

    private SqlConnection GetSqlConnection(string token, string databaseFqdn, string initialCatalog)
            {
                var builder = new SqlConnectionStringBuilder();
                builder.DataSource = databaseFqdn; // ConnectionInfo from Get Warehouse API
                builder.InitialCatalog = initialCatalog; //display name of the Warehouse
                builder.ConnectTimeout = 120;
    
                var connection = new SqlConnection();
                connection.AccessToken = token; // SQL token acquired with the Azure SQL Database user_impersonation scope
                connection.ConnectionString = builder.ConnectionString;
                connection.Open();
                return connection;
            }
    
  6. È ora possibile eseguire query su questa connessione per accedere ai dati dal Warehouse. Per altre informazioni sull'uso dello spazio dei nomi Microsoft.Data.SqlClient, vedere la documentazione sullo spazio dei nomi Microsoft.Data.SqlClient.

Scrittura dei dati

Oltre a leggere i dati usando il token, è anche possibile usare le API ADLS per scrivere dati in tabelle come descritto dal protocollo Delta Lake.

È anche possibile usare le API per creare file e directory.

In alternativa, è possibile usare altri carichi di lavoro di Fabric per scrivere dati nella piattaforma. Ad esempio, è possibile usare l'API del carico di lavoro Lakehouse di Fabric per caricare i tipi di file comuni in una tabella Delta ottimizzata in modo efficiente. Questa operazione viene eseguita inviando una richiesta a Tabelle - Endpoint API di caricamento delle tabelle.

La connessione SQL può essere usata anche per eseguire comandi che inseriscono dati in tabelle.