Arbeta med kunddata i Fabric
Microsoft Fabric OneLake är en enhetlig, logisk datasjö för hela organisationen, utformad för att vara den enda platsen för alla analysdata. Den levereras automatiskt med varje Microsoft Fabric-klientorganisation och bygger på Azure Data Lake Storage (ADLS) Gen2. OneLake stöder alla typer av filer, strukturerade eller ostrukturerade och lagrar alla tabelldata i Delta Parquet-format. Det möjliggör samarbete mellan olika företagsgrupper genom att tillhandahålla en enda datasjö som som standard styrs med distribuerat ägarskap för samarbete inom en klientorganisations gränser. Arbetsytor i en klientorganisation gör det möjligt för olika delar av organisationen att distribuera ägarskaps- och åtkomstprinciper, och alla data i OneLake kan nås via dataobjekt som Lakehouses och Warehouses. När det gäller datalager fungerar OneLake som den gemensamma lagringsplatsen för inmatning, transformering, insikter i realtid och Business Intelligence-visualiseringar. Den centraliserar de olika Fabric-tjänsterna och är lagringsplatsen för dataobjekt som förbrukas av alla arbetsbelastningar i Fabric.
Microsoft Fabric Eventhouse är en skalbar lösning för hantering och analys av stora mängder data, särskilt i realtidsanalysscenarier. Eventhouses hanterar effektivt dataströmmar i realtid så att organisationer kan mata in, bearbeta och analysera data nästan i realtid. De är idealiska för scenarier som kräver insikter i rätt tid och är den föredragna motorn för halvstrukturerad och fritextanalys. En Eventhouse är en arbetsyta med databaser som kan delas mellan projekt, optimera prestanda och kostnader genom att hantera flera databaser samtidigt. Eventhouses stöder data från flera källor och format, automatiskt indexering och partitionering av data baserat på inmatningstid.
Läsa och skriva data i Microsoft Fabric
Microsoft Fabric är en plattform som möjliggör lagring och hantering av kunddata. För att kunna läsa och skriva data i Infrastrukturresurser måste du använda REST-API:er för infrastrukturresurser och lämpliga autentiseringsmetoder.
API-behörigheter
Vissa metoder för att komma åt kunddata kräver användning av andra tjänster utanför Fabric, till exempel Azure Storage eller Azure SQL Database. I exemplet med Microsoft Fabric Developer Kit används till exempel API-behörigheten Azure Storage user_impersonation
tillsammans med behörigheten Power BI-tjänst Lakehouse.Read.All för att få åtkomst till data från Lakehouses.
Du kan använda Azure SQL Database för att komma åt tabelldata från lagerobjekt. I det här fallet konfigurerar du din app med Azure SQL Database user_impersonation
så att den kör frågor mot databasen åt användaren och Power BI-tjänsten Warehouse.Read.All för att köra frågor mot slutpunkten Get Warehouse i Fabric REST API:t.
Se till att du konfigurerar din Microsoft Entra-ID-app enligt dina utvecklingsbehov.
Autentisering
Innan du kan börja använda REST-API:er för infrastrukturresurser eller andra tjänster, till exempel Azure Storage och Azure SQL Database, måste du å användarens vägnar autentisera med hjälp av en token. Den här token kan hämtas via en tokenutbytesprocess.
Fabric Workload Development Kit SDK tillhandahåller en metod för att hämta en åtkomsttoken i arbetsbelastningens klientdel. Se till exempel Exempel på arbetsbelastningskontrollant.
Den här klienttoken måste skickas till backend-systemet och utbytas med hjälp av 'on-behalf-of' flödet för den tokens räkning med nödvändiga behörigheter för att få åtkomst till de resurser du behöver, till exempel OneLake. För att till exempel få åtkomst till och läsa från en Lakehouse måste en användare auktorisera programmet för att göra API-anrop åt dem med hjälp av Azure Storage-behörigheten user_impersonation
. På serversidan ska åtkomsttokenen sedan hämtas med det delegerade omfånget https://storage.azure.com/user_impersonation
för att använda Azure Storage.
Om du bestämmer dig för att använda SQL för att komma åt dina kunddata måste åtkomsttoken hämtas med omfånget https://database.windows.net//user_impersonation
för att använda Azure SQL Database och namnområdet Microsoft.Data.SqlClient. Åtkomsttoken måste användas som skrivet, med två snedstreck före user_impersonation
, för att verifieras av klassen SQLConnection.
Fler exempel på tokenautentisering finns i Microsoft Fabric Developer Kit-exemplet.
Mer information om hur du hämtar en token finns i DOKUMENTATIONen om REST API för arbetsbelastningsutveckling i Microsoft Fabric.
Läsa metadata
Fabric REST API:er ger ett sätt att komma åt egenskaper hos objekt. Om du till exempel kör frågor mot Get Lakehouse-API:et får du metadata för en viss Lakehouse, inklusive användbara egenskaper som OneLake-sökvägar och SQL-anslutningssträng. En annan användbar slutpunkt är Hämta lager-API:t, som returnerar följande information:
{
Id: Guid
Type: string
DisplayName: string
Description: string
WorkspaceId: Guid
Properties {
ConnectionInfo: string
CreatedDate: DateTime
LastUpdatedTime: DateTime
}
}
Här är egenskapen "ConnectionInfo" det fullständigt kvalificerade domännamnet (FQDN) för Warehouse SQL Server. Med det här fullständiga domännamnet kan du upprätta en SQL-anslutning. Mer information finns i Anslutning till Datalagring i Microsoft Fabric. Exempel på implementering finns i Microsoft Fabric Workload Development Kit.
Läsa data
När du har autentiserats kan du ansluta till OneLake med hjälp av REST-API:er för Azure Data Lake Storage för att läsa olika typer av data. Vi rekommenderar att du använder Delta Lake-protokollet för att läsa tabeller.
Om du väljer att använda Azure SQL Database kan du också implementera följande procedur för att läsa data från ett lager.
Skapa en auktoriseringskontext. Ett exempel på hur du skapar en auktoriseringskontext finns i metoden AuthenticateDataPlaneCall.
Hämta en token med omfånget Warehouse.Read.All för användarens räkning med hjälp av bearertoken som skickas från frontend.
Använd Fabric-token för att anropa Get Warehouse API. Det krävs att man kommer åt anslutningsinformation och visningsnamnet för lagret, som är serverns standardkatalog.
Hämta ett token med SQL-behörigheter för användarens räkning. Om du vill upprätta en SQL-anslutning använder du omfånget
https://database.windows.net//user_impersonation
.Använd SQL-token och anslutningsinformation för att öppna en SQL-anslutning:
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; }
Den här anslutningen kan nu efterfrågas för att få åtkomst till data från informationslagret. Mer information om hur du använder namnområdet Microsoft.Data.SqlClient finns i Dokumentation om Namnområde för Microsoft.Data.SqlClient.
Eventhouse API
När du har autentiserats kan du utföra åtgärder som att skapa Eventhouse, ta bort Eventhouse, hämta en lista över Eventhouses osv. Ett sätt att göra det är att använda portalen – Eventhouse-översikt.
Det andra sättet är att använda Eventhouse Rest API – Eventhouse Rest API-översikt.
- Bemyndiga.
- Hämta ett token med FabricEventhouse.Read.All omfång för användaren med hjälp av bearertoken som skickas från frontend.
- Använd Fabric-token för att anropa GetEventhouse API.
- Nu med en lista över databaserna i Eventhouse kan du fråga den specifika databas du vill ha, enligt beskrivningen i avsnittet Frågedata nedan.
Fråga efter data
Följ dessa steg för att fråga efter data från en Eventhouse KQL-databas: Autentisera först med lämplig metod. Anslut sedan till Eventhouse för att hämta listan över databaser. Fråga sedan den specifika databas som du vill komma åt. Det är viktigt att skilja mellan frågekommandon, till exempel .show tables
och datafrågor, till exempel <TableName> | take 10
. Fullständig dokumentation om KQL REST API finns i dokumentation om KQL REST API.
Det andra sättet är att använda Eventhouse Rest API – Eventhouse Rest API-översikt.
- Bemyndiga.
- Hämta en token med KQLDatabase.ReadWrite.All omfång för användarens räkning med hjälp av ägartoken som skickas från klientdelen.
- Använd Kql-token för att anropa KQL Rest API-.
Skriva data
Förutom att läsa data med hjälp av token kan du också använda ADLS-API:er för att skriva data till tabeller enligt beskrivningen i Delta Lake-protokollet.
Du kan också använda API:erna för att skapa filer och kataloger.
Du kan också använda andra Fabric-arbetsbelastningar för att skriva data till plattformen. Du kan till exempel använda Fabrics Lakehouse-arbetsbelastnings-API för att effektivt läsa in vanliga filtyper till en optimerad Delta-tabell. Detta görs genom att skicka en POST-begäran till Tabeller – Load Table API-slutpunkt.
SQL-anslutningen kan också användas för att utföra kommandon som infogar data i tabeller.