Freigeben über


Arbeiten mit Kundendaten in Fabric

Microsoft Fabric OneLake ist ein einheitlicher, logischer Data Lake für die gesamte Organisation und der Ort, an dem alle Analysedaten untergebracht sind. Es ist automatisch in jedem Microsoft Fabric-Mandanten enthalten und basiert auf Azure Data Lake Storage (ADLS) Gen2. OneLake unterstützt alle Arten von strukturierten und unstrukturierten Dateien und speichert alle tabellarischen Daten im Delta-Parquet-Format. Es ermöglicht die Zusammenarbeit über verschiedene Geschäftsgruppen hinweg, indem ein einzelner Data Lake bereitgestellt wird, der für die Zusammenarbeit innerhalb der Grenzen eines Mandanten standardmäßig in geteilter Verantwortung gesteuert wird. Arbeitsbereiche innerhalb eines Mandanten ermöglichen es verschiedenen Teilen der Organisation, Besitz- und Zugriffsrichtlinien zu verteilen, während über Datenelemente wie Lakehouses und Warehouses auf alle Daten in OneLake zugegriffen werden kann.

In Bezug auf Datenspeicher dient OneLake als gemeinsamer Speicherort für Aufnahme, Transformation, Echtzeiterkenntnisse und Business Intelligence-Visualisierungen. Es zentralisiert die verschiedenen Fabric-Dienste und ist der Speicher für Datenelemente, die von allen Workloads in Fabric verbraucht werden.

Lesen und Schreiben von Daten in Microsoft Fabric

Microsoft Fabric ist eine Plattform, die die Speicherung und Verwaltung von Kundendaten ermöglicht. Um Daten in Fabric zu lesen und zu schreiben, müssen Sie die Fabric-REST-APIs und die entsprechenden Authentifizierungsmethoden verwenden.

API-Berechtigungen

Einige Methoden für den Zugriff auf Kundendaten erfordern die Verwendung anderer Dienste außerhalb von Fabric, wie z. B. Azure Storage oder Azure SQL-Datenbank. Beispielsweise wird im Microsoft Fabric Developer Kit-Beispiel die API-Berechtigung Azure Storage user_impersonation in Verbindung mit der Power BI-Dienst Lakehouse.Read.All-Berechtigung für den Zugriff auf Daten aus Lakehouse verwendet.

Sie können Azure SQL-Datenbank verwenden, um auf Tabellendaten aus Warehouse-Artikeln zuzugreifen. Konfigurieren Sie in diesem Fall Ihre App mit Azure SQL-Datenbank user_impersonation, um die Datenbank im Namen des Benutzers abzufragen, und Power BI-Dienst Warehouse.Read.All, um den Fabric REST API Get Warehouse-Endpunkt abzufragen.

Stellen Sie sicher, dass Sie Ihre Microsoft Entra ID-App entsprechend Ihren Entwicklungsanforderungen konfigurieren.

Authentifizierung

Bevor Sie mit der Verwendung der Fabric-REST-APIs oder anderer Dienste wie Azure Storage und Azure SQL-Datenbank im Namen des Benutzers beginnen können, müssen Sie sich mit einem Token authentifizieren. Dieses Token kann über einen Token-Austauschprozess abgerufen werden.

Das Fabric Workload Development Kit-SDK bietet eine Methode zum Abrufen eines Zugriffstokens im Workload-Front-End. Siehe Beispiel Workload-Controller.

Dieses Client-Token muss an das Workload-Back-End übergeben und mithilfe des On-Behalf-Of-Flusses für ein Token mit den erforderlichen Bereichen ausgetauscht werden, um auf Ihre gewünschte Ressource zuzugreifen, z. B. OneLake. Um beispielsweise auf ein Lakehouse zuzugreifen und daraus zu lesen, muss ein Benutzer die Anwendung autorisieren, API-Aufrufe in seinem Namen zu tätigen, indem er die Azure Storage-Berechtigung user_impersonation verwendet. Dann muss im Back-End das Zugriffstoken mit dem delegierten Bereich https://storage.azure.com/user_impersonation eingeholt werden, um Azure Storage zu nutzen.

Wenn Sie SQL für den Zugriff auf Ihre Kundendaten verwenden möchten, muss das Zugriffstoken mit dem Bereich https://database.windows.net//user_impersonation abgerufen werden, um Azure SQL-Datenbank und den Microsoft.Data.SqlClient-Namespace zu verwenden. Das Zugriffstoken muss als geschrieben verwendet werden, mit zwei Schrägstrichen vor user_impersonation, um von der SQLConnection-Klasse überprüft zu werden. Beispiele für die Token-Authentifizierung finden Sie im Microsoft Fabric Developer Kit-Beispiel.

Weitere Informationen zum Abrufen eines Tokens finden Sie in der REST-API-Dokumentation zur Microsoft Fabric Workload-Entwicklung.

Metadaten lesen

Fabric REST APIs bieten eine Möglichkeit, auf die Eigenschaften von Artikeln zuzugreifen. Beispielsweise stellt die Abfrage der Get Lakehouse-API die Metadaten für ein bestimmtes Lakehouse bereit, einschließlich nützlicher Eigenschaften wie OneLake-Pfade und der SQL-Verbindungszeichenfolge. Ein weiterer nützlicher Endpunkt ist die Abrufen der Warehouse-API, die die folgenden Informationen zurückgibt:

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

Hier ist die Eigenschaft „ConnectionInfo“ der vollqualifizierte Domänenname (FQDN) des Speicherorts SQL Server. Mit diesem FQDN können Sie eine SQL-Verbindung herstellen. Weitere Informationen finden Sie unter Konnektivität mit Datenspeicherung in Microsoft Fabric. Implementierungsbeispiele finden Sie im Microsoft Fabric Workload Development Kit.

Lesen von Daten

Nachdem Sie sich authentifiziert haben, können Sie mithilfe von Azure Data Lake Storage-REST-APIs eine Verbindung mit OneLake herstellen, um verschiedene Datentypen zu lesen. Wir empfehlen die Verwendung des Delta Lake-Protokolls, um Tabellen zu lesen.

Alternativ können Sie, wenn Sie Azure SQL-Datenbank verwenden, das folgende Verfahren implementieren, um Daten aus einem Speicherort zu lesen.

  1. Erstellen Sie einen Autorisierungskontext. Ein Beispiel zum Erstellen eines Autorisierungskontexts finden Sie unter der AuthenticateDataPlaneCall-Methode.

  2. Erwerben Sie ein Token mit dem Umfang Warehouse.Read.All im Namen des Benutzers unter Verwendung des vom Front-End übergebenen Bearertokens.

  3. Verwenden Sie das Fabric-Token, um die Abrufen der Warehouse-API aufzurufen. Sie wird benötigt, um auf die Verbindungsinformationen und den Anzeigenamen des Speicherorts zuzugreifen, der der ursprüngliche Katalog des Servers ist.

  4. Abrufen eines Tokens mit SQL-Bereichen im Auftrag des Benutzers. Verwenden Sie den Bereich https://database.windows.net//user_impersonation, um eine SQL-Verbindung erfolgreich herzustellen.

  5. Verwenden Sie die SQL-Token- und Verbindungsinformationen, um eine SQL-Verbindung zu öffnen:

    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. Diese Verbindung kann jetzt abgefragt werden, um auf Daten aus dem Speicherort zuzugreifen. Weitere Informationen zur Verwendung des Microsoft.Data.SqlClient-Namespace finden Sie in der Dokumentation zu Microsoft.Data.SqlClient Namespace.

Schreiben von Daten

Zusätzlich zum Lesen von Daten mithilfe des Tokens können Sie auch ADLS-APIs verwenden, um Daten in Tabellen zu schreiben, wie im Delta Lake-Protokoll beschrieben.

Sie können die APIs auch zum Erstellen von Dateien und Verzeichnissen verwenden.

Alternativ können Sie andere Fabric-Workloads verwenden, um Daten auf die Plattform zu schreiben. Sie können beispielsweise die Lakehouse-Workload-API von Fabric verwenden, um allgemeine Dateitypen effizient in eine optimierte Delta-Tabelle zu laden. Dazu senden Sie eine POST-Anfrage an den Tabellen - Tabelle laden API-Endpunkt.

Die SQL-Verbindung kann auch verwendet werden, um Befehle auszuführen, die Daten in Tabellen einfügen.