Praca z danymi klientów w systemie Fabric
Microsoft Fabric OneLake to ujednolicone, logiczne magazyny danych dla całej organizacji, zaprojektowane jako jedno miejsce dla wszystkich danych analitycznych. Jest on automatycznie dostarczany z każdą dzierżawą usługi Microsoft Fabric i jest oparty na usłudze Azure Data Lake Storage (ADLS) Gen2. Usługa OneLake obsługuje dowolny typ pliku, ustrukturyzowanego lub nieustrukturyzowanego i przechowuje wszystkie dane tabelaryczne w formacie Delta Parquet. Umożliwia ona współpracę między różnymi grupami biznesowymi poprzez zapewnienie pojedynczego magazynu data lake, który jest automatycznie zarządzany i objęty rozproszoną własnością, aby ułatwić współpracę w obrębie granic dzierżawy. Obszary robocze w ramach dzierżawy umożliwiają różnym częściom organizacji dystrybucję zasad własności i dostępu, a wszystkie dane w usłudze OneLake mogą być dostępne za pośrednictwem elementów danych, takich jak Lakehouses i Warehouses. Jeśli chodzi o magazyny danych, usługa OneLake służy jako wspólna lokalizacja magazynu do pozyskiwania, przekształcania, szczegółowych informacji w czasie rzeczywistym i wizualizacji analizy biznesowej. Centralizuje ona różne usługi Fabric i stanowi magazyn dla danych używanych przez wszystkie obciążenia robocze w Fabric.
usługa Microsoft Fabric Eventhouse zapewnia skalowalne rozwiązanie do obsługi i analizowania dużych ilości danych, szczególnie w scenariuszach analizy w czasie rzeczywistym. Usługa Eventhouses efektywnie zarządza strumieniami danych w czasie rzeczywistym, umożliwiając organizacjom pozyskiwanie, przetwarzanie i analizowanie danych niemal w czasie rzeczywistym. Są one idealne w scenariuszach wymagających terminowych wglądów i są preferowanym narzędziem do analizy tekstu semi-strukturalnego i wolnego. Usługa Eventhouse to obszar roboczy baz danych, który może być współużytkowany między projektami, optymalizowanie wydajności i kosztów przez zarządzanie wieloma bazami danych jednocześnie. Magazyny zdarzeń obsługują dane z wielu źródeł i formatów, automatycznie indeksując i partycjonując dane na podstawie czasu pozyskiwania.
Jak odczytywać i zapisywać dane w usłudze Microsoft Fabric
Microsoft Fabric to platforma, która umożliwia przechowywanie danych klientów i zarządzanie nimi. Aby odczytywać i zapisywać dane w Fabric, należy użyć Fabric REST APIs i odpowiednich metod uwierzytelniania.
Uprawnienia API
Niektóre metody uzyskiwania dostępu do danych klientów wymagają użycia innych usług spoza sieci szkieletowej, takich jak Azure Storage lub Azure SQL Database. Na przykład w przykładzie zestawu narzędzi dla deweloperów Microsoft Fabric uprawnienie interfejsu API usługi Azure Storage user_impersonation
jest używane w połączeniu z uprawnieniem usługi Power BI Lakehouse.Read.All w celu uzyskania dostępu do danych z Lakehouses.
Usługa Azure SQL Database umożliwia uzyskiwanie dostępu do danych tabeli z elementów magazynu. W takim przypadku skonfiguruj aplikację za pomocą usługi Azure SQL Databaseuser_impersonation
, aby wysyłać zapytania do bazy danych w imieniu użytkownika oraz z usługą Power BI Warehouse.Read.All, aby wysyłać zapytania do punktu końcowego Get Warehouse interfejsu API REST Fabric.
Upewnij się, że aplikacja Microsoft Entra ID jest skonfigurowana zgodnie z potrzebami deweloperów.
Uwierzytelnianie
Przed rozpoczęciem korzystania z interfejsów API REST sieci szkieletowej lub innych usług, takich jak Azure Storage i Azure SQL Database, w imieniu użytkownika, należy uwierzytelnić się przy użyciu tokenu. Ten token można uzyskać za pośrednictwem procesu wymiany tokenów.
Zestaw SDK Fabric Workload Development Kit udostępnia metodę uzyskiwania tokenu dostępu w interfejsie frontonu obciążenia. Na przykład zobacz Przykładowy kontroler obciążenia.
Ten token klienta musi być przesyłany do backendu systemu i wymieniany przy użyciu przepływu delegowanego dla tokenu z wymaganymi zakresami dostępu do potrzebnych zasobów, takich jak OneLake. Na przykład, aby uzyskać dostęp do usługi Lakehouse i odczytywać z niej dane, użytkownik musi autoryzować aplikację do wykonywania wywołań API w ich imieniu przy użyciu uprawnień Azure Storage user_impersonation
. Następnie w backendzie należy uzyskać token dostępu z delegowanym zakresem https://storage.azure.com/user_impersonation
, aby korzystać z Azure Storage.
Jeśli zdecydujesz się użyć programu SQL w celu uzyskania dostępu do danych klienta, token dostępu musi zostać uzyskany z zakresu https://database.windows.net//user_impersonation
, aby używać usługi Azure SQL Database i przestrzeni nazw Microsoft.Data.SqlClient. Token dostępu musi być używany jako zapisany, z dwoma ukośnikami do przodu przed user_impersonation
, aby zostać zweryfikowany przez klasę SQLConnection.
Aby uzyskać więcej przykładów uwierzytelniania tokenów, zobacz przykładowy zestaw Microsoft Fabric Developer Kit.
Więcej informacji na temat uzyskiwania tokenu można znaleźć w dokumentacji interfejsu API REST usługi Microsoft Fabric Workload Development.
Odczytywanie metadanych
Interfejsy REST Fabric zapewniają sposób dostępu do właściwości elementów. Na przykład zapytanie do Get Lakehouse API zapewnia metadane dla określonego Lakehouse, w tym przydatne właściwości, takie jak ścieżki OneLake i łańcuch połączenia SQL. Innym przydatnym punktem końcowym jest Get Warehouse API, który zwraca następujące informacje:
{
Id: Guid
Type: string
DisplayName: string
Description: string
WorkspaceId: Guid
Properties {
ConnectionInfo: string
CreatedDate: DateTime
LastUpdatedTime: DateTime
}
}
Tutaj właściwość "ConnectionInfo" jest w pełni kwalifikowaną nazwą domeny (FQDN) serwera SQL dla magazynu. Za pomocą tej nazwy FQDN można nawiązać połączenie SQL. Aby uzyskać więcej informacji, zobacz Łączność z Magazynem Danych w usłudze Microsoft Fabric. Przykłady implementacji można znaleźć w zestawie Microsoft Fabric Workload Development Kit.
Odczytywanie danych
Po uwierzytelnieniu możesz nawiązać połączenie z usługą OneLake przy użyciu interfejsów API REST usługi Azure Data Lake Storage, aby odczytywać różne typy danych. Zalecamy użycie protokołu Delta Lake w celu odczytywania tabel.
Alternatywnie, jeśli zdecydujesz się korzystać z usługi Azure SQL Database, możesz zaimplementować poniższą procedurę odczytu danych z magazynu.
Utwórz kontekst autoryzacji. Aby zapoznać się z przykładem tworzenia kontekstu autoryzacji, zobacz metodę AuthenticateDataPlaneCall.
Uzyskaj token z zakresem Warehouse.Read.All w imieniu użytkownika przy użyciu tokenu elementu nośnego przekazanego z frontonu.
Użyj tokenu Fabric, aby wywołać Get Warehouse API. Wymagane jest uzyskanie dostępu do informacji o połączeniu oraz wyświetlanej nazwy magazynu, który jest początkowym katalogiem serwera.
Uzyskaj token z zakresami SQL w imieniu użytkownika. Aby pomyślnie nawiązać połączenie SQL, użyj zakresu
https://database.windows.net//user_impersonation
.Użyj tokenu SQL i informacji o połączeniu, aby otworzyć połączenie 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; }
To połączenie można teraz odpytować, aby uzyskać dostęp do danych z magazynu. Aby uzyskać więcej informacji na temat korzystania z przestrzeni nazw Microsoft.Data.SqlClient, zobacz Dokumentacja przestrzeni nazw Microsoft.Data.SqlClient.
Eventhouse API
Po uwierzytelnieniu można wykonywać akcje, takie jak tworzenie Eventhouse, usuwanie Eventhouse, pobieranie listy Eventhouse itp. Jednym ze sposobów wykonania tej czynności jest użycie portalu — Omówienie Eventhouse.
Innym sposobem jest użycie interfejsu API REST Eventhouse — Omówienie interfejsu API REST Eventhouse.
- Autoryzuj.
- Uzyskaj token z zakresem FabricEventhouse.Read.All w imieniu użytkownika przy użyciu tokenu elementu nośnego przekazanego z frontonu.
- Użyj tokenu usługi Fabric, aby wywołać Get Eventhouse API.
- Teraz, dzięki liście baz danych w Eventhouse, możesz wykonać zapytanie dotyczące określonej bazy danych zgodnie z opisem w sekcji z zapytaniami poniżej.
Wykonywanie zapytań o dane
Aby wykonać zapytanie dotyczące danych z bazy danych KQL usługi Eventhouse, wykonaj następujące kroki: najpierw uwierzytelnij się przy użyciu odpowiedniej metody. Następnie połącz się z usługą Eventhouse, aby pobrać listę baz danych. Następnie wykonaj zapytanie dotyczące określonej bazy danych, do której chcesz uzyskać dostęp. Ważne jest rozróżnienie między poleceniami zapytań, takimi jak .show tables
i zapytaniami danych, takimi jak <TableName> | take 10
. Aby uzyskać pełną dokumentację dotyczącą interfejsu API REST języka KQL, zobacz dokumentację interfejsu API REST języka KQL .
Sposobem alternatywnym jest użycie API REST usługi Eventhouse — Omówienie API REST Eventhouse.
- Autoryzować.
- Uzyskaj token z zakresem KQLDatabase.ReadWrite.All w imieniu użytkownika, używając przekazanego z interfejsu tokenu typu bearer.
- Użyj tokenu Kql, aby wywołać interfejs API REST KQL.
Zapisywanie danych
Oprócz odczytywania danych przy użyciu tokenu można również używać interfejsów API usługi ADLS do zapisywania danych w tabelach zgodnie z opisem protokołu Delta Lake.
Interfejsy API umożliwiają również tworzenie plików i katalogów.
Alternatywnie możesz użyć innych obciążeń na platformie Fabric do zapisywania danych. Na przykład można użyć interfejsu API obciążenia Lakehouse usługi Fabric do wydajnego przesyłania powszechnych typów plików do zoptymalizowanej tabeli Delta. Odbywa się to przez wysłanie żądania POST do punktu końcowego Tables - Load Table API endpoint.
Połączenie SQL może również służyć do wykonywania poleceń wstawiania danych do tabel.