如何使用 Azure 数据工厂复制活动将数据引入 Fabric

Azure 数据工厂 (ADF) 和 Azure Synapse Analytics 中的 Microsoft Fabric 湖屋连接器支持对 Microsoft Fabric 湖屋的读取和写入操作(适用于表和文件)。 此连接器允许使用现有的 ADF 和 Synapse 管道以及映射数据流来与 Fabric 湖屋进行交互。 本文可帮助配置 Microsoft Fabric 以允许服务主体身份验证,然后演示用于读取和写入 Fabric 连接器的湖屋连接器。

有关 Microsoft Fabric 湖屋的更多信息,请参阅什么是湖屋?

Azure 数据工厂湖屋连接器

现在,想要开始读取和写入 Microsoft Fabric 湖屋的客户可以使用一个新的湖屋链接服务连接器和两个新的数据集。 有关湖屋连接器的完整指南,请参阅在 Microsoft Fabric 湖屋文件(预览版)中复制和转换数据

身份验证

Azure 数据工厂链接服务

Microsoft Fabric 湖屋连接器需要服务主体 (SPN)/应用注册进行身份验证。 首先,必须创建一个新 SPN 或使用现有的 SPN。 Microsoft Fabric 允许 SPN 访问特定安全组或整个组织。 如果组织使用了特定安全组选项,则湖屋连接器中使用的 SPN 必须属于添加到允许列表的安全组。

注意

不需要 Power BI API 权限(委派)

访问 Power BI API

在 Power BI 管理门户中,Power BI 租户管理员启用“允许服务主体使用使用 Power BI API”。 必须在“允许服务主体使用 Power BI API”设置下指定安全组,或者可以为整个组织进行启用。

有关完整指南,请参阅使用服务主体和应用程序机密将 Power BI 内容嵌入到嵌入式分析应用程序中

注意

将安全组分配到工作区时,由于 Azure 中的权限缓存,可能会延迟向服务主体授予对工作区的访问权限。 如果需要立即访问,可以使用 PowerShell 强制刷新用户的权限。 为此,请以管理员身份打开 PowerShell,然后运行如下命令:

Install-Module -Name MicrosoftPowerBIMgmt
Connect-PowerBIServiceAccount -Tenant '<TENANT ID>' -ServicePrincipal -Credential (Get-Credential)
Get-PowerBIWorkspace
Invoke-PowerBIRestMethod -URL 'https://api.powerbi.com/v1.0/myorg/RefreshUserPermissions' -Method Post -Body ''
Get-PowerBIWorkspace

工作区访问权限

添加安全组后,还必须将安全组或服务主体作为成员、参与者或管理员添加到每个工作区。请参阅向用户授予对工作区的访问权限获取更多详细信息。

演示:设置身份验证

应用注册服务主体

创建或使用现有的应用注册服务主体 (SPN)。 请按照使用 Microsoft Entra ID 注册应用程序并创建服务主体中的步骤进行操作。

注意

无需分配重定向 URI。

显示新服务主体详细信息的屏幕截图。

安全组

请创建新的 Microsoft Entra 安全组或使用现有安全组,然后将 SPN 添加到其中。 请按照创建基本组并添加成员中的步骤创建 Microsoft Entra 安全组。

显示将成员添加到安全组的位置的屏幕截图。

Power BI 管理门户

Power BI 管理门户中,导航到“开发人员”设置,然后选择“允许服务主体使用 Power BI API”,然后将其启用。 然后根据上一步添加安全组。 有关 Power BI 管理门户租户设置的更多信息,请参阅租户设置

显示 Power BI 管理门户的屏幕截图,其中已展开和启用“允许服务主体用户 Power BI API”选项。

注意

请确保已启用设置“用户可以使用 Fabric 外部的应用来访问 OneLake 中存储的数据”。 请参阅允许在 Fabric 外部运行的应用通过 OneLake 访问数据

工作区

将 SPN 或服务组添加到具有“成员”、“参与者”或“管理员”访问权限的工作区。

Azure 数据工厂:链接服务

Azure 数据工厂中,创建新的 Microsoft Fabric 湖屋链接服务。

注意

要查找工作区和湖屋 ID,请导航到 Fabric 湖屋并在 URL 中进行标识。 例如: https://.../groups/<Workspace ID>>/lakehouses/<Lakehouse ID>

Azure 数据工厂:数据集

创建引用 Microsoft Fabric 湖屋链接服务的数据集。

注意

如果表尚不存在且想要手动指定新的表名,则为“导入架构”选项选择“无”

显示“新建数据集”对话框的屏幕截图,其中选择了 Microsoft Fabric Lakehouse 表数据集类型。

显示“数据集设置属性”对话框的屏幕截图,其中“导入架构”选项设置为“无”。

演示:使用 ADF 管道写入 Fabric 湖屋表

创建新管道并将复制活动添加到管道画布。 在复制活动的“源”选项卡中,选择希望移动到湖屋表的源数据集。 在此示例中,我们引用了 Azure Data Lake Storage (ADLS) Gen2 帐户中的.csv文件。

显示复制活动的“源设置”选项卡的配置的屏幕截图,其中选择了源数据集的.csv。

接收器

导航到复制活动的“接收器”选项卡,然后选择之前创建的 Fabric 湖屋数据集。

显示前面创建的 Fabric Lakehouse 数据集选择的屏幕截图。

运行管道

运行管道,将.csv 数据移动到 Fabric 湖屋表。

显示管道运行结果的屏幕截图。

演示:使用 ADF 管道从 Fabric 湖屋表中进行读取

在上面的部分中,我们演示了如何使用 ADF 写入 Fabric 湖屋表。 现在,让我们从 Fabric 湖屋表中进行读取,并使用类似的管道写入 Azure Data Lake Storage (ADLS) Gen2 中的 Parquet 文件。

Source

创建新管道并将复制活动添加到管道画布。 在复制活动的“源”选项卡中,选择之前创建的 Fabric 湖屋数据集。

显示前面创建的 Lakehouse 数据源的选择和预览的屏幕截图。

接收器

导航到复制活动的“接收器”选项卡并选择目标数据集。 在此示例中,目标为作为 Parquet 文件的 Azure Data Lake Storage (Gen2)。

显示选择 ADLS Gen2 接收器的屏幕截图。

运行管道

运行管道,将数据从 Fabric 湖屋表移动到 ADLS Gen2 中的 Parquet 文件。

显示运行管道以将数据从 Fabric Lakehouse 导入 ADLS Gen2 的结果的屏幕截图。

检查 ADLS Gen2 中的 Parquet 文件

Fabric 湖屋表中的数据现在可以在 ADLS Gen2 中作为 Parquet 文件使用。

显示管道生成的 Parquet 文件的屏幕截图。

总结

在本部分中,我们探讨了湖屋连接器的要求,该连接器对 Microsoft Fabric 湖屋使用服务主体身份验证,然后演示了一个从 Azure 数据工厂管道读取和写入湖屋的示例。 此连接器和功能也可用于 Azure 数据工厂映射数据流、Azure Synapse Analytics 和 Azure Synapse Analytics 映射数据流。

Azure 数据工厂文档