Del via


Arbejd med kundedata i Fabric

Microsoft Fabric OneLake er en samlet, logisk datasø for hele organisationen, der er designet til at være det eneste sted for alle analysedata. Den leveres automatisk med alle Microsoft Fabric-lejere og er bygget oven på Azure Data Lake Storage (ADLS) Gen2. OneLake understøtter alle typer filer, strukturerede eller ustrukturerede, og gemmer alle tabeldata i Delta Parquet-format. Det giver mulighed for samarbejde på tværs af forskellige forretningsgrupper ved at levere en enkelt datasø, der som standard er underlagt distribueret ejerskab til samarbejde inden for en lejers grænser. Arbejdsområder i en lejer gør det muligt for forskellige dele af organisationen at distribuere ejerskabs- og adgangspolitikker, og alle data i OneLake kan tilgås via dataelementer som Lakehouses og Warehouses.

Med hensyn til datalagre fungerer OneLake som den fælles lagringsplacering til indtagelse, transformation, indsigt i realtid og Business Intelligence-visualiseringer. Det centraliserer de forskellige Fabric-tjenester og er lagringen af dataelementer, der forbruges af alle arbejdsbelastninger i Fabric.

Sådan læser og skriver du data i Microsoft Fabric

Microsoft Fabric er en platform, der muliggør lagring og administration af kundedata. Hvis du vil læse og skrive data i Fabric, skal du bruge Fabric REST API'er og de relevante godkendelsesmetoder.

API-tilladelser

Nogle metoder til at få adgang til kundedata kræver brug af andre tjenester uden for Fabric, f.eks. Azure Storage eller Azure SQL Database. I Eksemplet på Microsoft Fabric Developer Kit bruges API-tilladelsen Azure Storage user_impersonation f.eks. sammen med Power BI-tjeneste Lakehouse.Read.All-tilladelsen til at få adgang til data fra Lakehouses.

Du kan bruge Azure SQL Database til at få adgang til tabeldata fra Lagerelementer. I dette tilfælde skal du konfigurere din app med Azure SQL Database user_impersonation for at forespørge databasen på vegne af brugeren og Power BI-tjeneste Warehouse.Read.All for at forespørge Fabric REST API Get Warehouse-slutpunktet.

Sørg for, at du konfigurerer din Microsoft Entra ID-app i henhold til dine udviklingsbehov.

Godkendelse

Før du kan begynde at bruge Fabric REST API'er eller andre tjenester, f.eks. Azure Storage og Azure SQL Database, skal du på vegne af brugeren godkende ved hjælp af et token. Dette token kan hentes via en tokenudvekslingsproces.

Fabric Workload Development Kit SDK indeholder en metode til at hente et adgangstoken i frontend af arbejdsbelastningen. Du kan f.eks. se Eksempel på arbejdsbelastningscontroller.

Dette klienttoken skal overføres til arbejdsbelastningens backend og udveksles ved hjælp af flowet på vegne af et token med de nødvendige områder for at få adgang til de ressourcer, du har brug for, f.eks. OneLake. Hvis en bruger f.eks. vil have adgang til og læse fra en Lakehouse, skal vedkommende give programmet tilladelse til at foretage API-kald på deres vegne ved hjælp af Azure Storage-tilladelsen user_impersonation . Derefter skal adgangstokenet hentes i backend med det delegerede omfang https://storage.azure.com/user_impersonation for at bruge Azure Storage.

Hvis du beslutter dig for at bruge SQL til at få adgang til dine kundedata, skal adgangstokenet hentes med området https://database.windows.net//user_impersonation for at bruge Azure SQL Database og Navneområdet Microsoft.Data.SqlClient. Adgangstokenet skal bruges som skrevet med to skråstreger før user_impersonation, der skal valideres af SQLConnection-klassen. Du kan få flere eksempler på tokengodkendelse i Microsoft Fabric Developer Kit-eksemplet.

Du kan finde flere oplysninger om, hvordan du får et token, i dokumentationen til REST API'en til Microsoft Fabric Workload Development.

Læs metadata

Fabric REST API'er gør det muligt at få adgang til elementegenskaber. Hvis du f.eks. forespørger Get Lakehouse-API'en, får du metadataene for et bestemt Lakehouse, herunder nyttige egenskaber, f.eks. OneLake-stier og SQL-forbindelsesstreng. Et andet nyttigt slutpunkt er Get Warehouse-API'en, som returnerer følgende oplysninger:

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

Her er egenskaben "ConnectionInfo" det fuldt kvalificerede domænenavn (FQDN) for Sql Server til warehouse. Med dette FQDN kan du oprette en SQL-forbindelse. Du kan få flere oplysninger under Forbindelse til datawarehousing i Microsoft Fabric. Du kan se implementeringseksempler i Microsoft Fabric Workload Development Kit.

Læser data

Når du har godkendt, kan du oprette forbindelse til OneLake ved hjælp af REST API'er til Azure Data Lake Storage for at læse forskellige typer data. Vi anbefaler, at du bruger Delta Lake-protokollen til at læse tabeller.

Hvis du vælger at bruge Azure SQL Database, kan du også implementere følgende procedure for at læse data fra et lager.

  1. Opret en godkendelseskontekst. Du kan se et eksempel på oprettelse af en godkendelseskontekst under AuthenticateDataPlaneCall-metoden.

  2. Hent et token med Warehouse.Read.All-området på vegne af brugeren ved hjælp af det ihændehavertoken, der er sendt fra frontend.

  3. Brug Fabric-tokenet til at kalde Get Warehouse-API'en. Det er påkrævet for at få adgang til forbindelsesoplysningerne og det viste navn på lageret, som er det første katalog for serveren.

  4. Hent et token med SQL-områder på vegne af brugeren. Hvis du vil oprette en SQL-forbindelse, skal du bruge området https://database.windows.net//user_impersonation.

  5. Brug SQL-tokenet og forbindelsesoplysningerne til at åbne en SQL-forbindelse:

    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. Denne forbindelse kan nu forespørges for at få adgang til data fra lageret. Du kan få flere oplysninger om, hvordan du bruger navneområdet Microsoft.Data.SqlClient , i dokumentationen til Microsoft.Data.SqlClient Namespace.

Skriver data

Ud over at læse data ved hjælp af tokenet kan du også bruge ADLS-API'er til at skrive data til tabeller som beskrevet i Delta Lake-protokollen.

Du kan også bruge API'erne til at oprette filer og mapper.

Du kan også bruge andre Fabric-arbejdsbelastninger til at skrive data til platformen. Du kan f.eks. bruge Fabric's Lakehouse-arbejdsbelastnings-API til effektivt at indlæse almindelige filtyper i en optimeret Delta-tabel. Dette gøres ved at sende en POST-anmodning til api-slutpunktet Tabeller – Indlæs tabel.

SQL-forbindelsen kan også bruges til at udføre kommandoer, der indsætter data i tabeller.