Udostępnij za pośrednictwem


Praca z danymi klientów w sieci szkieletowej

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 dzięki udostępnieniu pojedynczego magazynu data lake, który jest domyślnie objęty rozproszoną własnością współpracy w granicach 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 sieci Szkieletowej i jest magazynem dla elementów danych używanych przez wszystkie obciążenia w sieci szkieletowej.

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 usłudze Fabric, należy użyć interfejsów API REST sieci szkieletowej i odpowiednich metod uwierzytelniania.

Uprawnienia aplikacji

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 deweloperów usługi Microsoft Fabric uprawnienie interfejsu API usługi Azure Storage user_impersonation jest używane w połączeniu z uprawnieniem usługa Power BI Lakehouse.Read.All w celu uzyskania dostępu do danych z usługi 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 i usługa Power BI Warehouse.Read.All, aby wysyłać zapytania do punktu końcowego Get Warehouse interfejsu API REST sieci szkieletowej.

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 zestawu SDK dla obciążeń sieci szkieletowej udostępnia metodę uzyskiwania tokenu dostępu w frontonie obciążenia. Na przykład zobacz Przykładowy kontroler obciążenia.

Ten token klienta musi być przekazywany do zaplecza obciążenia i wymieniany przy użyciu przepływu on-behalf-of 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ć go z usługi Lakehouse, użytkownik musi autoryzować aplikację do wykonywania wywołań interfejsu API w ich imieniu przy użyciu uprawnień usługi Azure Storage user_impersonation . Następnie w zapleczu należy uzyskać token dostępu z zakresem https://storage.azure.com/user_impersonation delegowanym, aby można było korzystać z usługi 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 tworzenia obciążeń usługi Microsoft Fabric.

Odczytywanie metadanych

Interfejsy API REST sieci szkieletowej zapewniają dostęp do właściwości elementu. Na przykład wykonywanie zapytań względem interfejsu API usługi Get Lakehouse zapewnia metadane dla określonego usługi Lakehouse, w tym przydatne właściwości, takie jak ścieżki usługi OneLake i parametry połączenia SQL. Innym przydatnym punktem końcowym jest interfejs API get warehouse, 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) programu SQL Server magazynu. Za pomocą tej nazwy FQDN można nawiązać połączenie SQL. Aby uzyskać więcej informacji, zobacz Łączność z Magazyn 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.

  1. Utwórz kontekst autoryzacji. Aby zapoznać się z przykładem tworzenia kontekstu autoryzacji, zobacz metodę AuthenticateDataPlaneCall.

  2. Uzyskaj token z zakresem Warehouse.Read.All w imieniu użytkownika przy użyciu tokenu elementu nośnego przekazanego z frontonu.

  3. Użyj tokenu sieci szkieletowej, aby wywołać interfejs API get warehouse. Wymagane jest uzyskanie dostępu do informacji o połączeniu i nazwa wyświetlana magazynu, który jest początkowym wykazem serwera.

  4. Uzyskiwanie tokenu z zakresami SQL w imieniu użytkownika. Aby pomyślnie nawiązać połączenie SQL, użyj zakresu https://database.windows.net//user_impersonation.

  5. 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;
            }
    
  6. 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.

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ń sieci szkieletowej do zapisywania danych na platformie. Na przykład można użyć interfejsu API obciążenia Lakehouse usługi Fabric do wydajnego ładowania typowych typów plików do zoptymalizowanej tabeli delty. Odbywa się to przez wysłanie żądania POST do punktu końcowego interfejsu API tabel — ładowanie.

Połączenie SQL może również służyć do wykonywania poleceń wstawiania danych do tabel.