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.
Eventhouse de Microsoft Fabric proporciona una solución escalable para controlar y analizar grandes volúmenes de datos, especialmente en escenarios de análisis en tiempo real. Los centros de eventos administran eficazmente los flujos de datos en tiempo real, lo que permite a las organizaciones ingerir, procesar y analizar datos casi en tiempo real. Son ideales para escenarios que requieren información oportuna y son el motor preferido para el análisis de texto semiestructurado y libre. Eventhouse es un área de trabajo de bases de datos que se pueden compartir entre proyectos, optimizar el rendimiento y el costo mediante la administración de varias bases de datos a la vez. Eventhouses admite datos de varios orígenes y formatos, indexando y particionando datos automáticamente en función del tiempo de ingesta.
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 artículos de almacén. 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 el servicio Power BI con Warehouse.Read.All para consultar el punto de conexión Get Warehouse de la API 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 ejemplo.
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 decides usar SQL para acceder a tus datos de 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, consultar la Get Lakehouse API te proporciona los metadatos de un determinado Lakehouse, incluidas propiedades útiles como las rutas de acceso de OneLake y la cadena de conexión 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.
Cree un contexto de autorización. Para obtener un ejemplo de creación de un contexto de autorización, consulte el método AuthenticateDataPlaneCall.
Adquiera un token con el ámbito Warehouse.Read.All en nombre del usuario mediante el token de portador pasado desde el front-end.
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 visible del almacén de datos, que es el catálogo inicial del servidor.
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
.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; }
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.
Eventhouse API
Una vez autenticado, puede realizar acciones como crear Eventhouse, eliminar Eventhouse, obtener una lista de Eventhouses, etc. Una manera de hacerlo es usar el portal: información general de Eventhouse.
La otra manera es usar la API REST de Eventhouse - Información general de la API REST de Eventhouse.
- Autorizar.
- Adquiera un token con el ámbito FabricEventhouse.Read.All en nombre del usuario mediante el token de portador pasado desde el front-end.
- Use el token de Fabric para llamar a la API de Get Eventhouse.
- Ahora con una lista de las bases de datos del centro de eventos, puede consultar la base de datos específica que desee, como se describe en la sección Datos de consulta a continuación.
Consulta de datos
Para consultar datos desde una base de datos KQL de Eventhouse, siga estos pasos: En primer lugar, autentíquese mediante el método adecuado. A continuación, conéctese a Eventhouse para recuperar la lista de bases de datos. A continuación, consulte la base de datos específica a la que desea acceder. Es importante distinguir entre comandos de consulta, como .show tables
y consultas de datos, como <TableName> | take 10
. Para obtener documentación completa sobre la API de REST de KQL, consulte documentación de la API de REST de KQL.
La otra manera es usar la API Rest de Eventhouse - Descripción general de la API Rest de Eventhouse.
- Autorizar.
- Adquiera un token con el ámbito KQLDatabase.ReadWrite.All en nombre del usuario mediante el token de portador pasado desde el front-end.
- Utilice el token Kql para llamar a la API de REST de KQL.
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 de Lakehouse 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.