Бөлісу құралы:


Работа с данными клиентов в Fabric

Microsoft Fabric OneLake — это единое логическое озеро данных для всей организации, предназначенное для всех аналитических данных. Он поставляется автоматически с каждым клиентом Microsoft Fabric и построен на основе Azure Data Lake Storage (ADLS) 2-го поколения. OneLake поддерживает любой тип файла, структурированного или неструктурированного и сохраняет все табличные данные в формате Delta Parquet. Он позволяет осуществлять сотрудничество между различными бизнес-группами, предоставляя единое озеро данных, управляемое по умолчанию распределенным владением для взаимодействия в рамках клиента. Рабочие области в аренде позволяют различным частям организации устанавливать политики владения и доступа, а все данные в OneLake можно получить с помощью таких объектов данных, как Lakehouses и Warehouses. С точки зрения хранилищ данных OneLake служит общим местом хранения для приема, преобразования, аналитики в режиме реального времени и визуализаций бизнес-аналитики. Она объединяет различные службы Fabric и является хранилищем для элементов данных, используемых всеми рабочими процессами в Fabric.

Microsoft Fabric Eventhouse предоставляет масштабируемое решение для обработки и анализа больших объемов данных, особенно в сценариях аналитики в режиме реального времени. Центры событий эффективно управляют потоками данных в режиме реального времени, позволяя организациям получать, обрабатывать и анализировать данные практически в режиме реального времени. Они идеально подходят для сценариев, требующих своевременной аналитики и являются предпочтительным механизмом для полуструктурированного и свободного анализа текста. Eventhouse — это рабочая область баз данных, которые можно совместно использовать в проектах, оптимизируя производительность и затраты, одновременно управляя несколькими базами данных. Центры событий поддерживают данные из нескольких источников и форматов, автоматически индексируя и секционируя данные на основе времени приема.

Чтение и запись данных в Microsoft Fabric

Microsoft Fabric — это платформа, которая позволяет хранить и управлять данными клиентов. Чтобы считывать и записывать данные в Fabric, необходимо использовать REST API Fabric и соответствующие методы проверки подлинности.

Разрешения API

Некоторые методы доступа к данным клиента требуют использования других служб за пределами Fabric, таких как служба хранилища Azure или База данных SQL Azure. Например, в примере пакета средств разработчика Microsoft Fabric разрешение API служба хранилища Azure user_impersonation используется вместе с разрешением служба Power BI Lakehouse.Read.All для доступа к данным из Lakehouses.

Вы можете использовать базу данных Azure SQL для доступа к данным таблицы в элементах хранилища. В этом случае настройте ваше приложение с использованием базы данных Azure SQL user_impersonation, чтобы запрашивать базу данных от имени пользователя, и предоставьте службе Power BI разрешение Warehouse.Read.All для запроса конечной точки Get Warehouse в REST API Fabric.

Убедитесь, что вы настроите приложение Идентификатора Microsoft Entra в соответствии с вашими потребностями разработки.

Проверка подлинности

Прежде чем начать использовать REST API Fabric или другие службы, такие как Azure Storage и Azure SQL Database, от имени пользователя, необходимо сначала пройти проверку подлинности с помощью токена. Этот маркер можно получить с помощью процесса обмена токенами.

Пакет SDK для разработки рабочих нагрузок Fabric предоставляет метод получения токена доступа в интерфейсе фронтэнда рабочей нагрузки. Например, см. Пример контроллера рабочей нагрузки.

Этот клиентский токен должен быть передан в бэкенд рабочей нагрузки и обмениваться с помощью потока от имени для получения токена с необходимыми областями доступа к ресурсам, таким как OneLake. Например, для доступа и чтения из Lakehouse пользователь должен дать приложению разрешение выполнять API вызовы от их лица, с помощью разрешения Azure Storage user_impersonation. Затем в серверной части нужно получить токен доступа с делегированными правами https://storage.azure.com/user_impersonation для использования хранилища Azure.

Если вы решите использовать SQL для доступа к данным клиентов, токен доступа должен быть получен с областью https://database.windows.net//user_impersonation для использования базы данных Azure SQL и пространства имен Microsoft.Data.SqlClient. Маркер доступа должен использоваться в том виде, как записан, с двумя косыми чертами перед user_impersonation, чтобы пройти проверку классом SQLConnection. Для получения дополнительных примеров аутентификации с помощью токенов, вы можете посмотреть пример в пакете средств разработчика Microsoft Fabric.

Дополнительные сведения о получении токена см. в документации по REST API для разработки рабочих нагрузок Microsoft Fabric.

Чтение метаданных

Интерфейсы REST API Fabric предоставляют способ доступа к свойствам элементов. Например, запрос Get Lakehouse API предоставляет вам метаданные для определенного Lakehouse, включая полезные свойства, такие как пути OneLake и строка подключения SQL. Еще одна полезная конечная точка — API Get Warehouse, который возвращает следующие сведения:

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

Здесь свойство ConnectionInfo является полным доменным именем (FQDN) хранилища SQL Server. С помощью этого полного доменного имени можно установить подключение к SQL. Дополнительные сведения см. в статье "Подключение к Хранилище данных в Microsoft Fabric". Примеры реализации см. в Microsoft Fabric Workload Development Kit.

Чтение данных

После проверки подлинности вы можете подключиться к OneLake с помощью REST API Azure Data Lake Storage для чтения различных типов данных. Для чтения таблиц рекомендуется использовать протокол Delta Lake.

Кроме того, если вы решили использовать База данных SQL Azure, можно реализовать следующую процедуру для чтения данных из хранилища.

  1. Создайте контекст авторизации. Пример создания контекста авторизации см. в методе AuthenticateDataPlaneCall.

  2. Получить токен с областью Warehouse.Read.All от имени пользователя, используя маркер типа bearer, переданный с пользовательского интерфейса.

  3. Используйте токен Fabric для вызова API Get Warehouse. Для доступа к сведениям о подключении и отображаемому имени хранилища требуется доступ к исходному каталогу сервера.

  4. Получение токена для SQL-областей от имени пользователя. Чтобы успешно установить подключение к SQL, используйте область https://database.windows.net//user_impersonation.

  5. Используйте маркер SQL и сведения о подключении, чтобы открыть подключение к 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. Теперь это подключение можно запросить для доступа к данным из хранилища. Дополнительные сведения об использовании пространства имен Microsoft.Data.SqlClient см. в документации пространства имен Microsoft.Data.SqlClient.

Eventhouse API

После проверки подлинности можно выполнять такие действия, как создание центра событий, удаление центра событий, получение списка центров событий и т. д. Одним из способов это сделать является использование портала — обзор центра событий .

Другим способом является использование REST API Eventhouse — обзор REST API Eventhouse.

  1. Авторизуйтесь.
  2. Получить токен с областью FabricEventhouse.Read.All для пользователя с помощью токена-переносчика, переданного из пользовательского интерфейса.
  3. Используйте маркер Fabric для вызова API Get Eventhouse.
  4. Теперь с списком баз данных в хранилище событий можно запросить нужную базу данных, как описано в разделе данных запроса ниже.

Запрос данных

Чтобы запросить данные из базы данных KQL Eventhouse, выполните следующие действия. Сначала выполните проверку подлинности с помощью соответствующего метода. Затем подключитесь к eventhouse, чтобы получить список баз данных. Затем запросите конкретную базу данных, к которой требуется получить доступ. Важно различать команды запросов, такие как .show tables, и запросы данных, например <TableName> | take 10. Полную документацию по KQL REST API см. в документациипо KQL REST API.

Другим способом является использование REST API Eventhouse — обзор REST API Eventhouse.

  1. Авторизовать
  2. Получите токен с KQLDatabase.ReadWrite.All сферой действия от имени пользователя, используя переданный с фронтенда токен-достоверность.
  3. Используйте маркер Kql для вызова KQL REST API.

Запись данных

Кроме чтения данных с помощью маркера можно также использовать ADLS API для записи данных в таблицы, как это описано в протоколе Delta Lake.

Вы также можете использовать API для создания файлов и каталогов.

Кроме того, можно использовать другие рабочие нагрузки Fabric для записи данных на платформу. Например, можно использовать API рабочей нагрузки Fabric Lakehouse для эффективной загрузки распространенных типов файлов в оптимизированную таблицу Delta. Это делается путем отправки запроса POST в конечную точку API Tables - Load Table.

Подключение SQL также можно использовать для выполнения команд, которые вставляют данные в таблицы.