Delen via


Werken met klantgegevens in Fabric

Microsoft Fabric OneLake is een geïntegreerde, logische data lake voor de hele organisatie, ontworpen als één plek voor alle analysegegevens. Deze wordt automatisch geleverd bij elke Microsoft Fabric-tenant en is gebouwd op Azure Data Lake Storage (ADLS) Gen2. OneLake ondersteunt elk type bestand, gestructureerd of ongestructureerd en slaat alle tabelgegevens op in delta Parquet-indeling. Hiermee kunt u samenwerken tussen verschillende bedrijfsgroepen door één data lake te bieden die standaard wordt beheerd met gedistribueerd eigendom voor samenwerking binnen de grenzen van een tenant. Werkruimten binnen een tenant stellen verschillende onderdelen van de organisatie in staat om eigendoms- en toegangsbeleid te beheren en toe te wijzen. Alle gegevens in OneLake zijn toegankelijk via gegevensitems zoals Lakehouses en Warehouses. In termen van gegevensarchieven fungeert OneLake als de algemene opslaglocatie voor opname, transformatie, realtime inzichten en Business Intelligence-visualisaties. Het centraliseert de verschillende Fabric-services en is de opslag voor gegevensitems die door alle workloads in Fabric worden gebruikt.

Microsoft Fabric Eventhouse biedt een schaalbare oplossing voor het verwerken en analyseren van grote hoeveelheden gegevens, met name in realtime analysescenario's. Eventhouses beheren efficiënt realtime gegevensstromen, zodat organisaties gegevens in bijna realtime kunnen opnemen, verwerken en analyseren. Ze zijn ideaal voor scenario's die tijdig inzicht vereisen en de voorkeursengine zijn voor semi-gestructureerde en vrije tekstanalyse. Een Eventhouse is een werkruimte van databases die kunnen worden gedeeld tussen projecten, het optimaliseren van prestaties en kosten door meerdere databases tegelijk te beheren. Eventhouses ondersteunen gegevens uit meerdere bronnen en indelingen en indexeren en partitioneren automatisch gegevens op basis van invoertijd.

Gegevens lezen en schrijven in Microsoft Fabric

Microsoft Fabric is een platform dat de opslag en het beheer van klantgegevens mogelijk maakt. Als u gegevens wilt lezen en schrijven in Fabric, moet u de Rest API's van Fabric en de juiste verificatiemethoden gebruiken.

API-machtigingen

Voor sommige methoden voor toegang tot klantgegevens is het gebruik van andere services buiten Fabric vereist, zoals Azure Storage of Azure SQL Database. In het voorbeeld van de Microsoft Fabric Developer Kit wordt bijvoorbeeld de API-machtiging Azure Storage user_impersonation gebruikt in combinatie met de machtiging Power BI-service Lakehouse.Read.All voor toegang tot gegevens van Lakehouses.

U kunt Azure SQL Database gebruiken voor toegang tot tabelgegevens uit magazijnitems. In dit geval configureert u uw app met Azure SQL Database user_impersonation om een query uit te voeren op de database namens de gebruiker en Power BI-service Warehouse.Read.All om een query uit te voeren op het eindpunt van de Fabric REST API Get Warehouse.

Zorg ervoor dat u uw Microsoft Entra ID-app configureert op basis van uw ontwikkelingsbehoeften.

Verificatie

Voordat u de Fabric REST API's of andere services, zoals Azure Storage en Azure SQL Database, kunt gaan gebruiken, moet u zich verifiëren met behulp van een token. Dit token kan worden verkregen via een tokenuitwisselingsproces.

De Fabric Workload Development Kit SDK biedt een methode voor het verkrijgen van een toegangstoken in de front-end van de workload. Zie Voorbeeld Workload Controller.

Dit clienttoken moet worden doorgegeven aan de workload-backend en worden uitgewisseld met behulp van de On-Behalf-Of-Flow voor een token met de benodigde toegangsrechten om toegang te krijgen tot de middelen die u nodig hebt, zoals OneLake. Als u bijvoorbeeld toegang wilt krijgen tot en lezen vanuit een Lakehouse, moet een gebruiker de toepassing autoriseren om namens hen API-aanroepen uit te voeren met behulp van de Azure Storage-machtiging user_impersonation . Vervolgens moet in de back-end het toegangstoken worden verkregen met het gedelegeerde bereik https://storage.azure.com/user_impersonation om Azure Storage te kunnen gebruiken.

Als u besluit om SQL te gebruiken voor toegang tot uw klantgegevens, moet het toegangstoken worden verkregen met het bereik https://database.windows.net//user_impersonation om Azure SQL Database en de naamruimte Microsoft.Data.SqlClient te gebruiken. Het toegangstoken moet worden gebruikt zoals geschreven, met twee schuine strepen voor user_impersonation, zodat de SQLConnection-klasse deze kan valideren. Zie het voorbeeld van de Microsoft Fabric Developer Kit voor meer voorbeelden van tokenverificatie.

Meer informatie over hoe u een token kunt verkrijgen, vindt u in de DOCUMENTATIE van de Rest API voor Microsoft Fabric Workload Development.

Metagegevens lezen

REST-API's voor Fabric bieden een manier om toegang te krijgen tot itemeigenschappen. Als u bijvoorbeeld een query uitvoert op de Get Lakehouse-API, krijgt u de metagegevens voor een bepaald Lakehouse, inclusief nuttige eigenschappen zoals OneLake-paden en de SQL-verbindingsreeks. Een ander nuttig eindpunt is de Get Warehouse-API, die de volgende informatie retourneert:

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

Hier is de eigenschap ConnectionInfo de FQDN (Fully Qualified Domain Name) van de Warehouse SQL Server. Met deze FQDN kunt u een SQL-verbinding tot stand brengen. Zie Connectiviteit met Databeheersysteem in Microsoft Fabric voor meer informatie. Zie de Microsoft Fabric Workload Development Kit voor implementatievoorbeelden.

Lezen van de gegevens

Zodra u zich hebt geverifieerd, kunt u verbinding maken met OneLake met behulp van AZURE Data Lake Storage REST API's om verschillende typen gegevens te lezen. U wordt aangeraden het Delta Lake-protocol te gebruiken om tabellen te lezen.

Als u ervoor kiest om Azure SQL Database te gebruiken, kunt u ook de volgende procedure implementeren om gegevens uit een magazijn te lezen.

  1. Maak een autorisatiecontext. Zie de methode AuthenticateDataPlaneCall voor een voorbeeld van het maken van een autorisatiecontext.

  2. Verwerf namens de gebruiker een token met het bereik Warehouse.Read.All met behulp van het bearer-token dat vanuit de frontend is doorgegeven.

  3. Gebruik het Fabric-token om de Get Warehouse-API aan te roepen. Het is vereist om toegang te krijgen tot de verbindingsgegevens en de weergavenaam van het magazijn. Dit is de eerste catalogus van de server.

  4. Een token verkrijgen met SQL-toegangsniveaus namens de gebruiker. Gebruik het bereik https://database.windows.net//user_impersonationom een SQL-verbinding tot stand te brengen.

  5. Gebruik het SQL-token en de verbindingsgegevens om een SQL-verbinding te openen:

    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. Deze verbinding kan nu worden opgevraagd om toegang te krijgen tot gegevens vanuit het magazijn. Raadpleeg de Microsoft.Data.SqlClient Namespace Documentatie voor meer informatie over het gebruik van de Microsoft.Data.SqlClient-naamruimte.

Eventhouse-API

Zodra u zich hebt geverifieerd, kunt u acties uitvoeren zoals Eventhouse maken, Eventhouse verwijderen, een lijst met Eventhouses ophalen, enzovoort. Een manier om dit te doen is het gebruik van de portal- Eventhouse-overzicht.

De andere manier is het gebruik van de Eventhouse Rest API - Eventhouse Rest API-overzicht.

  1. Machtigen.
  2. Verkrijg een token met FabricEventhouse.Read.All scope namens de gebruiker met behulp van het bearer-token dat is doorgegeven vanuit de front-end.
  3. Gebruik de Fabric-token om de Get Eventhouse APIaan te roepen.
  4. Nu met een lijst met de databases van het Eventhouse kunt u een query uitvoeren op de gewenste database, zoals beschreven in de sectie Querygegevens hieronder.

Query's uitvoeren op gegevens

Als u query's wilt uitvoeren op gegevens uit een Eventhouse KQL-database, voert u de volgende stappen uit: Verifieer eerst met behulp van de juiste methode. Maak vervolgens verbinding met eventhouse om de lijst met databases op te halen. Voer vervolgens een query uit op de specifieke database die u wilt openen. Het is belangrijk om onderscheid te maken tussen queryopdrachten, zoals .show tablesen gegevensquery's, zoals <TableName> | take 10. Zie KQL REST API-documentatievoor volledige documentatie over de KQL REST API.

De andere manier is het gebruik van de Eventhouse Rest API - Eventhouse Rest API-overzicht.

  1. Machtigen.
  2. Verkrijg een token met de machtigingen KQLDatabase.ReadWrite.All namens de gebruiker met behulp van het bearer-token dat vanuit de front-end is doorgegeven.
  3. Gebruik het Kql-token om de KQL Rest API-aan te roepen.

Gegevens schrijven

Naast het lezen van gegevens met behulp van het token, kunt u ook ADLS-API's gebruiken om gegevens naar tabellen te schrijven, zoals beschreven door het Delta Lake-protocol.

U kunt ook de API's gebruiken om bestanden en mappen te maken.

U kunt ook andere Fabric-workloads gebruiken om gegevens naar het platform te schrijven. U kunt bijvoorbeeld de Workload-API van Fabric Lakehouse gebruiken om veelgebruikte bestandstypen efficiënt te laden in een geoptimaliseerde Delta-tabel. Dit wordt gedaan door een POST-aanvraag te verzenden naar het API-eindpunt Tables - Load Table API.

De SQL-verbinding kan ook worden gebruikt om opdrachten uit te voeren waarmee gegevens in tabellen worden ingevoegd.