Microsoft Fabric - 简单尝试一下Microsoft Fabric .NET SDK

1. 简单介绍

Microsoft Fabric 是微软提供的一个基于Saas的数据平台。当前全球已经70%的财富500强在使用Microsoft Fabric。

同时Microsoft Fabric也提供了Rest API,这样开发的应用程序就可以对这些API进行调用了。2025年5月Microsoft Fabric command-line interface也已经general available了,command-line interface也是基于Rest API的。微软在2024年也发布了Microsoft Fabric .NET SDK,nuget package 名称是Microsoft.Fabric.Api,查看了一下,目前的版本已经是2.18.0了。

这边将简单尝试一下使用Microsoft.Fabric.Api SDK获取特定workspace的lakehouse信息。

2. 使用Fabric SDK

这边要制作的是基于.NET 10的Console应用程序,同时采用的OAuth中的Auth code方式(授权码)来获取access token。

2.1 注册应用程序

要使用Microsoft Fabric .NET SDK,需要在Microsoft Extra ID中创建注册应用程序,同时记录一下Application ID和Directory ID,

  1. 在Microsoft Extra ID的App Registrations中创建一个注册应用程序,
  1. 添加一个Redirect URL,这边添加的是http://localhost

2.2 获取access token

获取access token的代码如下,

复制代码
string Authority = "https://login.microsoftonline.com/organizations";
string RedirectURI = "http://localhost";
string[] scopes = new string[] { "https://api.fabric.microsoft.com/Workspace.ReadWrite.All https://api.fabric.microsoft.com/Item.ReadWrite.All https://api.fabric.microsoft.com/Lakehouse.Read.All https://api.fabric.microsoft.com/Lakehouse.ReadWrite.All" };

PublicClientApplicationBuilder PublicClientAppBuilder =
		PublicClientApplicationBuilder.Create(clientId)
		.WithAuthority(Authority)
		.WithRedirectUri(RedirectURI);

IPublicClientApplication PublicClientApplication = PublicClientAppBuilder.Build();
AuthenticationResult result = await PublicClientApplication.AcquireTokenInteractive(scopes)
		.ExecuteAsync()
		.ConfigureAwait(false);
access_token = result.AccessToken;

2.3 获取workspace

由于没有找到基于workspace name获取workspace的方法,这边采用过滤的方式来进行的,

复制代码
fabric_Client = new FabricClient(access_token, new Uri("https://api.fabric.microsoft.com/v1/"));
var workspaces = await fabric_Client.Core.Workspaces.ListWorkspacesAsync().ToListAsync();
var fabricPracticeWorkspace = workspaces.Where(ws => ws.DisplayName == workspace).FirstOrDefault();

2.4 获取Lakehouse信息

首先实例化一个FabricLakehouseClient,然后使用FabricLakehouseClient去进行Lakehouses的查询操作,最后打印出Lakehouse的名字,

复制代码
FabricLakehouseClient lakehouseClient = new FabricLakehouseClient(tokenCredential, new Uri("https://api.fabric.microsoft.com/v1/"));
var lakehouses = await lakehouseClient.Items.ListLakehousesAsync(fabricPracticeWorkspace!.Id).ToListAsync();
foreach (var lakehouse in lakehouses)
{
	Console.WriteLine($"Workspace: {fabricPracticeWorkspace.DisplayName} | Lakehouse: {lakehouse.DisplayName}");
}

3. 运行程序

  1. 在Visual Studio启动应用程序,应用程序会自动在浏览器中打开如下网页,选择特定的用于授权的帐号,
  1. 最后网页显示Authenticion complete信息,
  1. 打开控制台窗口,可以看出Lakehouse信息已经提取出来了,

4. 总结

本文简单记录了一下使用Microsoft.Fabric.Api SDK获取特定workspace中lakehouse信息的过程,关于Microsoft Fabric .NET SDK的内容很多,后续还需要进一步跟着微软老师学习一下。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

相关推荐
Sand(ContextGate)9 小时前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai
女神下凡9 小时前
Win10/WIN11自动更新怎么永久关闭?有效的Win10/WIN11强制更新关闭方法.
microsoft
ITHAOGE151 天前
下载 | Windows Server 2016最新纯净版ISO映像!(集成9月更新、标准版、数据中心版、14393.9514)
windows·科技·微软·电脑
xiangcns1 天前
PDMS PiplineTool(三十)一堆小优化+一个彩蛋功能
.net·二次开发·pdms
Omics Pro1 天前
微软:多模态生物世界模型
数据库·人工智能·算法·microsoft·机器学习·自然语言处理
EatFan1 天前
MCP 从概念到落地:Java(Spring AI Alibaba)与 .NET 双栈接入实操对比
java·人工智能·后端·spring·.net·java后端·mcp
小杍随笔2 天前
Trae CN迁移后插件失效修复方案
microsoft
ITHAOGE152 天前
下载 | Win11 26H2 正式版发布!(ISO映像、2026年度版本、26300.9457、Windows 11)
windows·科技·微软·电脑
海盗12342 天前
微软技术日报 2026-10-04:26H2 三个已知问题确认,Blazor 补上智能体 UI
人工智能·microsoft·ui·机器人·aigc