Compartir vía


Trabajar con datos de clientes en Fabric

Microsoft Fabric OneLake es un lago de datos lógico unificado para toda la organización, diseñado para ser el único lugar para todos los datos de análisis. Viene automáticamente con todos los inquilinos de Microsoft Fabric y se basa en Azure Data Lake Storage (ADLS) Gen2. OneLake admite cualquier tipo de archivo, estructurado o no estructurado, y almacena todos los datos tabulares en formato Delta Parquet. Permite la colaboración entre diferentes grupos empresariales al proporcionar un único lago de datos que se rige de manera predeterminada por la propiedad distribuida para la colaboración dentro de los límites de un inquilino. Las áreas de trabajo de un inquilino permiten que diferentes partes de la organización distribuyan las directivas de propiedad y acceso, y se puede acceder a todos los datos de OneLake a través de elementos de datos como almacenes de lago y almacenes.

En términos de almacenes de datos, OneLake actúa como la ubicación de almacenamiento común para la ingesta, transformación, información en tiempo real y visualizaciones de inteligencia empresarial. Centraliza los distintos servicios de Fabric y es el almacenamiento de los elementos de datos consumidos por todas las cargas de trabajo de Fabric.

Cómo leer y escribir datos en Microsoft Fabric

Microsoft Fabric es una plataforma que permite el almacenamiento y la administración de los datos de los clientes. Para leer y escribir datos en Fabric, debe usar las API de REST de Fabric y los métodos de autenticación adecuados.

Permisos de API

Algunos métodos de acceso a los datos de los clientes requieren el uso de otros servicios fuera de Fabric, como Azure Storage o Azure SQL Database. Por ejemplo, en el ejemplo del kit de desarrollo de Microsoft Fabric, el permiso de API de Azure Storage user_impersonation se usa junto con el permiso Lakehouse.Read.All del servicio Power BI para acceder a los datos desde almacenes de lago de datos.

Puede usar Azure SQL Database para acceder a datos de tabla desde elementos de almacenes de datos. En este caso, configure la aplicación con Azure SQL Database user_impersonation para hacer consultas a la base de datos en nombre del usuario y Warehouse.Read.All del servicio Power BI para hacer consultas al punto de conexión del almacén de datos de obtención de la API de REST de Fabric.

Asegúrese de configurar la aplicación Microsoft Entra ID según sus necesidades de desarrollo.

Autenticación

Para empezar a usar las API de REST de Fabric u otros servicios, como Azure Storage y Azure SQL Database, en nombre del usuario, debe autenticarse mediante un token. Este token se puede obtener a través de un proceso de intercambio de tokens.

El SDK del Kit de desarrollo de cargas de trabajo de Fabric proporciona un método para adquirir un token de acceso en el front-end de la carga de trabajo. Por ejemplo, consulte Controlador de la carga de trabajo de muestra.

Este token de cliente se debe pasar al back-end de la carga de trabajo e intercambiarse mediante el flujo con derechos delegados por un token con los ámbitos necesarios para acceder a los recursos que necesite, como OneLake. Por ejemplo, para acceder a una instancia de Lakehouse y leerla, un usuario debe autorizar la aplicación para realizar llamadas API en su nombre mediante el permiso user_impersonation de Azure Storage. Después, en el back-end, se debe obtener el token de acceso con el ámbito delegado https://storage.azure.com/user_impersonation para usar Azure Storage.

Si decide usar SQL para acceder a los datos del cliente, el token de acceso debe obtenerse con el ámbito https://database.windows.net//user_impersonation para usar Azure SQL Database y el espacio de nombres Microsoft.Data.SqlClient. El token de acceso debe usarse como está escrito, con dos barras diagonales antes de user_impersonation, para que la clase SQLConnection pueda validarlo. Para obtener más ejemplos de autenticación de tokens, consulte el ejemplo del kit de desarrollo de Microsoft Fabric.

Puede encontrar más detalles sobre cómo obtener un token en la documentación de la API de REST para el desarrollo de cargas de trabajo de Microsoft Fabric.

Lectura de metadatos

Las API de REST de Fabric proporcionan una manera de acceder a las propiedades de los elementos. Por ejemplo, la consulta de la API de obtención del almacén de lago proporciona los metadatos de un determinado almacén de lago, incluidas propiedades útiles, como rutas de acceso de OneLake y la cadena de conexión de SQL. Otro punto de conexión útil es la API de Get Warehouse, que devuelve la siguiente información:

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

Aquí, la propiedad "ConnectionInfo" es el nombre de dominio completo (FQDN) del servidor SQL Server del almacén de datos. Con este FQDN, puede establecer una conexión SQL. Para obtener más información, consulte Conectividad al almacenamiento de datos en Microsoft Fabric. Para obtener ejemplos de implementación, consulte el kit de desarrollo de cargas de trabajo de Microsoft Fabric.

Lectura de datos

Una vez autenticado, puede conectarse a OneLake mediante las API de REST de Azure Data Lake Storage para leer diferentes tipos de datos. Se recomienda usar el protocolo de Delta Lake para leer tablas.

Como alternativa, si decide usar Azure SQL Database, puede implementar el procedimiento siguiente para leer datos de un almacén de datos.

  1. Cree un contexto de autorización. Para obtener un ejemplo de creación de un contexto de autorización, consulte el método AuthenticateDataPlaneCall.

  2. Adquiera un token con el ámbito Warehouse.Read.All en nombre del usuario mediante el token de portador pasado desde el front-end.

  3. Use el token de Fabric para llamar a la API de Get Warehouse. Es necesario tener acceso a la información de conexión y al nombre para mostrar del almacén de datos, que es el catálogo inicial del servidor.

  4. Adquiera un token con ámbitos SQL en nombre del usuario. Para establecer correctamente una conexión SQL, use el ámbito https://database.windows.net//user_impersonation.

  5. Use el token de SQL y la información de conexión para abrir una conexión 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. Esta conexión ahora se puede consultar para acceder a los datos desde el almacén de datos. Para obtener más información sobre el uso del espacio de nombres Microsoft.Data.SqlClient, consulte la documentación sobre el espacio de nombres Microsoft.Data.SqlClient.

Escritura de datos

Además de leer datos mediante el token, también puede usar las API de ADLS para escribir datos en tablas como se describe en el protocolo de Delta Lake.

También puede usar las API para crear archivos y directorios.

Como alternativa, puede usar otras cargas de trabajo de Fabric para escribir datos en la plataforma. Por ejemplo, puede usar la API de carga de trabajo del almacén de lago de Fabric para cargar eficazmente tipos de archivo comunes en una tabla Delta optimizada. Para ello, se envía una solicitud POST al punto de conexión de API Tablas - Cargar tabla.

La conexión SQL también se puede usar para llevar a cabo comandos que insertan datos en tablas.