关于 fabric-onelake-2025
介绍 Azure Data Factory 与 Microsoft Fabric Lakehouse、Warehouse 和 OneLake 集成的参考技能,面向构建数据管道的数据工程师,涵盖连接器活动、身份验证、集成模式和故障排查。
主要功能
- 01Lakehouse 与 Warehouse 连接器
- 02复制、查找和元数据活动
- 03托管标识身份验证指南
- 04OneLake 快捷方式与增量加载模式
- 05权限配置与故障排查
适用场景
- 01向 Fabric Lakehouse 复制数据
- 02加载并查询 Fabric Warehouse
- 03创建调用 Fabric 管道的数据工作流
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill fabric-onelake-2025安装后在 Claude Code 中输入/fabric-onelake-2025确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/lakehouse-examples.mdonelake-patterns.mdwarehouse-examples.md详细介绍
Microsoft Fabric 与 Azure Data Factory 集成(2025)
概述
Microsoft Fabric 是一个统一的 SaaS 分析平台,整合了 Power BI、Azure Synapse Analytics 和 Azure Data Factory 的功能。ADF 为 Fabric Lakehouse 和 Fabric Warehouse 提供原生连接器,可在 ADF 与 Fabric 工作区之间无缝移动数据。
Microsoft Fabric Lakehouse 连接器
Fabric Lakehouse 连接器支持对 Microsoft Fabric Lakehouse 中的表和文件执行读取和写入操作。
支持的活动
| 活动 | 支持 |
|---|---|
| 复制活动(源和接收器) | 是 |
| 查找活动 | 是 |
| 获取元数据活动 | 是 |
| 删除活动 | 是 |
快速参考
- 链接服务类型:
Lakehouse - 身份验证: 托管标识(首选)或服务主体
- 必需的 ID:
workspaceId和artifactId - 接收器类型:
LakehouseTableSink(表)、LakehouseFileSink(文件) - 源类型:
LakehouseTableSource - 表操作选项:
append或overwrite
查找工作区和项目 ID:
- 在浏览器中导航到 Fabric 工作区
- 从 URL 中复制工作区 ID:
https://app.powerbi.com/groups/<workspaceId>/... - 打开 Lakehouse 设置以查找项目 ID
- 或使用 Fabric REST API 枚举工作区项目
完整的链接服务、数据集和复制活动 JSON 示例,请参阅 references/lakehouse-examples.md。
Microsoft Fabric Warehouse 连接器
Fabric Warehouse 连接器在 Fabric 生态系统中提供基于 T-SQL 的数据仓库功能。
支持的活动
| 活动 | 支持 |
|---|---|
| 复制活动(源和接收器) | 是 |
| 查找活动 | 是 |
| 获取元数据活动 | 是 |
| 脚本活动 | 是 |
| 存储过程活动 | 是 |
快速参考
- 链接服务类型:
Warehouse - 身份验证: 系统分配的托管标识(推荐)、用户分配的 MI 或服务主体
- 必需的属性:
endpoint、warehouse - 接收器类型:
WarehouseSink - 写入行为:
insert或upsert - 表选项:
autoCreate(表不存在时创建)
完整的链接服务、复制活动、存储过程和脚本活动 JSON 示例,请参阅 references/warehouse-examples.md。
OneLake 集成模式
ADF 支持与 OneLake 集成的三种模式:
| 模式 | 说明 | 主要优势 |
|---|---|---|
| ADLS Gen2 快捷方式 | 通过 OneLake 快捷方式引用 ADLS 数据(零复制) | 无需重复数据 |
| 增量加载 | 基于水印将数据增量复制到 Lakehouse | 高效更新 |
| 跨平台调用 | 使用 InvokePipeline 活动调用 Fabric 管道 | 混合编排 |
当数据已存在于 ADLS Gen2 中时,OneLake 快捷方式是首选方案——它无需移动数据即可即时实现零复制访问。只有在需要数据转换或格式转换时,才使用 ADF 复制活动。
三种模式的完整管道 JSON 示例,请参阅 references/onelake-patterns.md。
权限配置
Fabric 中的 Azure Data Factory 托管标识权限
对于 Fabric Lakehouse:
- 打开 Fabric 工作区
- 转到“工作区设置” ->“管理访问权限”
- 将 ADF 托管标识添加为参与者角色
- 或分配工作区管理员以获得完整访问权限
对于 Fabric Warehouse:
- 导航到 Warehouse SQL 终结点
- 执行 SQL 以创建用户:
CREATE USER [your-adf-name] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [your-adf-name];
ALTER ROLE db_datawriter ADD MEMBER [your-adf-name];
服务主体权限
应用注册设置:
- 在 Microsoft Entra ID 中注册应用
- 创建客户端机密(存储在 Key Vault 中)
- 将应用添加到 Fabric 工作区,并分配参与者角色
- 对于 Warehouse,按上述说明创建 SQL 用户
最佳实践(2025)
-
使用托管标识 —— 对于单个 ADF,使用系统分配的托管标识;对于多个 ADF,使用用户分配的托管标识。尽可能避免使用服务主体密钥。将所有机密存储在 Key Vault 中。
-
为大型加载启用暂存 —— 对于数据量超过 1 GB、复杂转换或加载到 Fabric Warehouse 的情况,请使用带压缩的暂存。
-
充分利用 OneLake 快捷方式 —— 使用
ADLS Gen2 -> OneLake Shortcut -> Direct Access,而不是ADLS Gen2 -> Copy Activity -> Lakehouse。无需移动数据,即可立即使用,并降低成本。 -
监控 Fabric 容量单位(CU) —— 跟踪每次管道运行的 CU 消耗量、峰值用量和节流情况。通过增量加载、非高峰时段调度和适当设置并行度来优化。
-
使用表选项 AutoCreate —— 在 WarehouseSink 上设置
tableOption: "autoCreate",以自动管理架构并加快开发。 -
实施错误处理 —— 为复制活动配置重试策略,并添加基于 WebActivity 的失败日志记录,设置
dependencyConditions: ["Failed"]。
常见问题和解决方案
| 问题 | 错误消息 | 解决方案 |
|---|---|---|
| 权限被拒绝 | "User does not have permission to access Fabric workspace" | 将 ADF 托管标识添加为 Contributor;对于 Warehouse,创建 SQL 用户;等待 5 分钟以使更改生效 |
| 找不到终结点 | "Unable to connect to endpoint" | 验证 workspaceId/artifactId;检查工作区 URL;确保 Lakehouse/Warehouse 未暂停 |
| 架构不匹配 | "Column types do not match" | 使用 tableOption: "autoCreate",或在转换器中显式设置列映射 |
| 性能下降 | 复制性能缓慢 | 启用暂存,将 parallelCopies 提高到 4-8,将 DIUs 提高到 8-32,并检查 CU 节流情况 |
资源
渐进式披露参考
- Lakehouse 示例:
references/lakehouse-examples.md- 完整的链接服务、数据集、复制活动和查找活动 JSON 示例 - Warehouse 示例:
references/warehouse-examples.md- 完整的链接服务、复制活动、存储过程和脚本活动 JSON 示例 - OneLake 模式:
references/onelake-patterns.md- 用于快捷方式、增量加载和跨平台 Invoke Pipeline 的管道模式