ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

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

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 SDKnuget 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 ID1) 在Microsoft Extra ID的App Registrations中创建一个注册应用程序2) 添加一个Redirect URL这边添加的是http://localhost2.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启动应用程序应用程序会自动在浏览器中打开如下网页选择特定的用于授权的帐号2) 最后网页显示Authenticion complete信息3) 打开控制台窗口可以看出Lakehouse信息已经提取出来了4. 总结本文简单记录了一下使用Microsoft.Fabric.Api SDK获取特定workspace中lakehouse信息的过程关于Microsoft Fabric .NET SDK的内容很多后续还需要进一步跟着微软老师学习一下。本文如果哪里有错误麻烦告之谢谢谢谢
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进