Работа с данными клиентов в Fabric
Microsoft Fabric OneLake — это единое логическое озеро данных для всей организации, предназначенное для всех аналитических данных. Он поставляется автоматически с каждым клиентом Microsoft Fabric и построен на основе Azure Data Lake Storage (ADLS) 2-го поколения. OneLake поддерживает любой тип файла, структурированного или неструктурированного и сохраняет все табличные данные в формате Delta Parquet. Он позволяет совместно выполнять совместную работу между различными бизнес-группами, предоставляя одно озеро данных, управляемое по умолчанию распределенным владением для совместной работы в пределах границ клиента. Рабочие области в клиенте позволяют различным частям организации распространять политики владения и доступа, а все данные в OneLake можно получить с помощью таких элементов данных, как Lakehouses и Warehouses.
С точки зрения хранилищ данных OneLake служит общим местом хранения для приема, преобразования, аналитики в режиме реального времени и визуализаций бизнес-аналитики. Она централизованно использует различные службы Fabric и является хранилищем для элементов данных, потребляемых всеми рабочими нагрузками в Fabric.
Чтение и запись данных в 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.
Вы можете использовать База данных SQL Azure для доступа к данным таблицы из элементов хранилища. В этом случае настройте приложение с помощью База данных SQL Azure user_impersonation
для запроса к базе данных от имени пользователя и служба Power BI Warehouse.Read.All для запроса конечной точки Rest API Get Warehouse.
Убедитесь, что вы настроите приложение Идентификатора Microsoft Entra в соответствии с вашими потребностями разработки.
Проверка подлинности
Прежде чем начать использовать REST API Fabric или другие службы, такие как служба хранилища Azure и База данных SQL Azure, от имени пользователя, необходимо пройти проверку подлинности с помощью маркера. Этот маркер можно получить с помощью процесса обмена токенами.
Пакет SDK для средств разработки рабочей нагрузки Fabric предоставляет метод получения маркера доступа в интерфейсной части рабочей нагрузки. Например, см . пример контроллера рабочей нагрузки.
Этот маркер клиента должен передаваться в серверную часть рабочей нагрузки и обмениваться с помощью потока от имени маркера с необходимыми областями для доступа к необходимым ресурсам, таким как OneLake. Например, для доступа и чтения из Lakehouse пользователь должен авторизовать приложение для выполнения вызовов API от их имени с помощью разрешения служба хранилища Azureuser_impersonation
. Затем в серверной части маркер доступа должен быть получен с делегированной областью https://storage.azure.com/user_impersonation
для использования служба хранилища Azure.
Если вы решите использовать SQL для доступа к данным клиента, маркер доступа должен быть получен с областью https://database.windows.net//user_impersonation
использования База данных SQL Azure и пространства имен Microsoft.Data.SqlClient. Маркер доступа должен использоваться как записанный, с двумя косыми чертами перед user_impersonation
проверкой классом SQLConnection.
Дополнительные примеры проверки подлинности маркеров см. в примере пакета средств разработчика Microsoft Fabric.
Дополнительные сведения о получении маркера см. в документации по REST API разработки рабочей нагрузки Microsoft Fabric.
Чтение метаданных
ИНТЕРФЕЙСы REST API Fabric предоставляют способ доступа к свойствам элементов. Например, запрос API Get Lakehouse предоставляет метаданные для определенного 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.
Чтение данных
После проверки подлинности вы можете подключиться к OneLake с помощью REST API Azure Data Lake Storage для чтения различных типов данных. Для чтения таблиц рекомендуется использовать протокол Delta Lake.
Кроме того, если вы решили использовать База данных SQL Azure, можно реализовать следующую процедуру для чтения данных из хранилища.
Создайте контекст авторизации. Пример создания контекста авторизации см. в методе AuthenticateDataPlaneCall.
Получение маркера с помощью области Warehouse.Read.All от имени пользователя с помощью маркера носителя, переданного с внешнего интерфейса.
Используйте токен Fabric для вызова API Get Warehouse. Для доступа к сведениям о подключении и отображаемому имени хранилища требуется доступ к исходному каталогу сервера.
Получение маркера с областями SQL от имени пользователя. Чтобы успешно установить подключение к SQL, используйте область
https://database.windows.net//user_impersonation
.Используйте маркер 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; }
Теперь это подключение можно запросить для доступа к данным из хранилища. Дополнительные сведения об использовании пространства имен Microsoft.Data.SqlClient см. в документации по пространству имен Microsoft.Data.SqlClient.
Запись данных
Помимо чтения данных с помощью маркера, можно также использовать API ADLS для записи данных в таблицы, как описано протоколом Delta Lake.
Вы также можете использовать API для создания файлов и каталогов.
Кроме того, можно использовать другие рабочие нагрузки Fabric для записи данных на платформу. Например, можно использовать API рабочей нагрузки Fabric Lakehouse для эффективной загрузки распространенных типов файлов в оптимизированную таблицу Delta. Это делается путем отправки запроса POST в конечную точку API таблиц .
Подключение SQL также можно использовать для выполнения команд, которые вставляют данные в таблицы.