Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft Fabric OneLake — это единое логическое озеро данных для всей организации, предназначенное для всех аналитических данных. Он поставляется автоматически с каждым клиентом Microsoft Fabric и построен на основе Azure Data Lake Storage (ADLS) 2-го поколения. OneLake поддерживает любой тип файла, структурированного или неструктурированного и сохраняет все табличные данные в формате Delta Parquet. It allows for collaboration across different business groups by providing a single data lake that is governed by default with distributed ownership for collaboration within a tenant's boundaries. Workspaces within a tenant enable different parts of the organization to distribute ownership and access policies, and all data in OneLake can be accessed through data items such as Lakehouses and Warehouses. С точки зрения хранилищ данных OneLake служит общим местом хранения для приема, преобразования, аналитики в режиме реального времени и визуализаций бизнес-аналитики. Она объединяет различные службы Fabric и является хранилищем для элементов данных, используемых всеми рабочими процессами в Fabric.
Microsoft Fabric Eventhouse предоставляет масштабируемое решение для обработки и анализа больших объемов данных, особенно в сценариях аналитики в режиме реального времени. Центры событий эффективно управляют потоками данных в режиме реального времени, позволяя организациям получать, обрабатывать и анализировать данные практически в режиме реального времени. Они идеально подходят для сценариев, требующих своевременной аналитики и являются предпочтительным механизмом для полуструктурированного и свободного анализа текста. Eventhouse — это рабочая область баз данных, которые можно совместно использовать в проектах, оптимизируя производительность и затраты, одновременно управляя несколькими базами данных. Центры событий поддерживают данные из нескольких источников и форматов, автоматически индексируя и секционируя данные на основе времени приема.
Чтение и запись данных в Microsoft Fabric
Microsoft Fabric — это платформа, которая позволяет хранить и управлять данными клиентов. Чтобы считывать и записывать данные в Fabric, необходимо использовать REST API Fabric и соответствующие методы проверки подлинности.
Разрешения API
Некоторые методы доступа к данным клиента требуют использования других служб за пределами Fabric, таких как служба хранилища Azure или База данных SQL Azure. For example, in the Microsoft Fabric Developer kit sample, the API permission Azure Storage user_impersonation
is used in conjunction with the Power BI service Lakehouse.Read.All permission to access data from Lakehouses.
You can use Azure SQL Database to access table data from Warehouse items. In this case, configure your app with Azure SQL Database user_impersonation
to query the database on behalf of the user and Power BI service Warehouse.Read.All to query the Fabric REST API Get Warehouse endpoint.
Убедитесь, что вы настроите приложение Идентификатора Microsoft Entra в соответствии с вашими потребностями разработки.
Проверка подлинности
Прежде чем начать использовать REST API Fabric или другие службы, такие как Azure Storage и Azure SQL Database, от имени пользователя, необходимо сначала пройти проверку подлинности с помощью токена. Этот маркер можно получить с помощью процесса обмена токенами.
The Fabric Workload Development Kit SDK provides a method for acquiring an access token in the workload front end. Например, см. Пример контроллера рабочей нагрузки.
This client token must be passed to the workload backend and exchanged by using the on-behalf-of flow for a token with the necessary scopes to access the resources you need, such as OneLake. For example, to access and read from a Lakehouse, a user must authorize the application to make API calls on their behalf by using the Azure Storage user_impersonation
permission. Затем в серверной части нужно получить токен доступа с делегированными правами https://storage.azure.com/user_impersonation
для использования хранилища Azure.
Если вы решите использовать SQL для доступа к данным клиентов, токен доступа должен быть получен с областью https://database.windows.net//user_impersonation
для использования базы данных Azure SQL и пространства имен Microsoft.Data.SqlClient. The access token must be used as written, with two forward slashes before user_impersonation
, to be validated by the SQLConnection class.
Для получения дополнительных примеров аутентификации с помощью токенов, вы можете посмотреть пример в пакете средств разработчика 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
}
}
Here, the "ConnectionInfo" property is the Fully Qualified Domain Name (FQDN) of the Warehouse SQL Server. С помощью этого полного доменного имени можно установить подключение к SQL. Дополнительные сведения см. в статье "Подключение к Хранилище данных в Microsoft Fabric". Примеры реализации см. в Microsoft Fabric Workload Development Kit.
Чтение данных
После проверки подлинности вы можете подключиться к OneLake с помощью REST API Azure Data Lake Storage для чтения различных типов данных. Для чтения таблиц рекомендуется использовать протокол Delta Lake.
Кроме того, если вы решили использовать База данных SQL Azure, можно реализовать следующую процедуру для чтения данных из хранилища.
Создайте контекст авторизации. Пример создания контекста авторизации см. в методе AuthenticateDataPlaneCall.
Acquire a token with the Warehouse.Read.All scope on behalf of the user using the bearer token passed from the front end.
Используйте токен Fabric для вызова API Get Warehouse. It's required to access the Connection info and the display name of the Warehouse, which is the initial catalog of the server.
Acquire a token with SQL scopes on behalf of the user. Чтобы успешно установить подключение к 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.
Eventhouse API
После проверки подлинности можно выполнять такие действия, как создание центра событий, удаление центра событий, получение списка центров событий и т. д. Одним из способов это сделать является использование портала — обзор центра событий .
The other way is using the Eventhouse Rest API - Eventhouse Rest API overview.
- Авторизуйтесь.
- Acquire a token with FabricEventhouse.Read.All scope on behalf of the user using the bearer token passed from the front end.
- Use the Fabric token to call the Get Eventhouse API.
- Теперь с списком баз данных в хранилище событий можно запросить нужную базу данных, как описано в разделе данных запроса ниже.
Запрос данных
Чтобы запросить данные из базы данных KQL Eventhouse, выполните следующие действия. Сначала выполните проверку подлинности с помощью соответствующего метода. Затем подключитесь к eventhouse, чтобы получить список баз данных. Затем запросите конкретную базу данных, к которой требуется получить доступ. Важно различать команды запросов, такие как .show tables
, и запросы данных, например <TableName> | take 10
. For full documentation on the KQL REST API, see KQL REST API documentation.
The other way is using the Eventhouse Rest API - Eventhouse Rest API overview.
- Авторизуйтесь.
- Acquire a token with KQLDatabase.ReadWrite.All scope on behalf of the user using the bearer token passed from the front end.
- Use the Kql token to call the KQL Rest API.
Writing data
Кроме чтения данных с помощью маркера можно также использовать ADLS API для записи данных в таблицы, как это описано в протоколе Delta Lake.
Вы также можете использовать API для создания файлов и каталогов.
Кроме того, можно использовать другие рабочие нагрузки Fabric для записи данных на платформу. Например, можно использовать API рабочей нагрузки Fabric Lakehouse для эффективной загрузки распространенных типов файлов в оптимизированную таблицу Delta. Это делается путем отправки запроса POST в конечную точку API Tables - Load Table.
Подключение SQL также можно использовать для выполнения команд, которые вставляют данные в таблицы.
OneLake integration
You may opt in to use OneLake integration in your workloads. If you do, when a new item is created for your workload, Fabric will automatically create folders for the new item.
To opt in, your item's manifest XML must declare this by setting the CreateOneLakeFoldersOnArtifactCreation
attribute to true
.
Рассмотрим пример.
<ItemManifestConfiguration xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" SchemaVersion="1.101.0">
<Item TypeName="Org.WorkloadSample.SampleWorkloadItem" Category="Data" CreateOneLakeFoldersOnArtifactCreation="true">
<Workload WorkloadName="Org.WorkloadSample" />
...
</Item>
</ItemManifestConfiguration>
Примечание.
SchemaVersion must be set to 1.101.0 (or later supported versions).
The same SchemaVersion must be set in WorkloadManifest.xml
:
<WorkloadManifestConfiguration xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" SchemaVersion="1.101.0">
<Workload WorkloadName="Org.WorkloadSample" HostingType="Remote">
...
</Workload>
</WorkloadManifestConfiguration>
When a new item is created, the following root folders are created in OneLake:
<WorkspaceID>/<ItemID>/Files
<WorkspaceID>/<ItemID>/Tables
You can create additional folders under these, and use them for storing data in any format (under Files
folder) or in parquet format (under Tables
folder).
Follow the instructions above to read/write from OneLake storage.