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. Met werkruimten binnen een tenant kunnen verschillende onderdelen van de organisatie eigendoms- en toegangsbeleid distribueren. Alle gegevens in OneLake kunnen worden geopend 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.
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 voorbeeldworkloadcontroller.
Dit clienttoken moet worden doorgegeven aan de back-end van de workload en worden uitgewisseld met behulp van de on-behalf-of-flow voor een token met de benodigde bereiken voor toegang tot de resources 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
voor het gebruik van Azure SQL Database en de naamruimte Microsoft.Data.SqlClient. Het toegangstoken moet worden gebruikt als geschreven, met twee slashes eerder user_impersonation
, om te worden gevalideerd door de SQLConnection-klasse.
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.
Maak een autorisatiecontext. Zie de methode AuthenticateDataPlaneCall voor een voorbeeld van het maken van een autorisatiecontext.
Verwerf een token met het bereik Warehouse.Read.All namens de gebruiker met behulp van het bearer-token dat is doorgegeven vanuit de front-end.
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.
Een token verkrijgen met SQL-bereiken namens de gebruiker. Gebruik het bereik
https://database.windows.net//user_impersonation
om een SQL-verbinding tot stand te brengen.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; }
Deze verbinding kan nu worden opgevraagd om toegang te krijgen tot gegevens vanuit het magazijn. Zie de documentatie voor Microsoft.Data.SqlClient-naamruimte voor meer informatie over het gebruik van de naamruimte Microsoft.Data.SqlClient.
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 eindpunt tabel-API laden.
De SQL-verbinding kan ook worden gebruikt om opdrachten uit te voeren waarmee gegevens in tabellen worden ingevoegd.