1.简单介绍
Microsoft Fabric是微软数据处理的一个统一的大平台,Data Engineer, Data Sciencist, Business Analysis人员都可以在这个平台上面工作。统一的大平台也为AI的变革提供了数据基础。Microsoft Ignite中,Microsoft Fabric也是比较重要的一个topic,其中展示出来的关于Microsoft Fabric的架构图也发生了一些变化
下面是经常看到的Microsoft Fabric图片

以下是一次Ignite 大会中老师演示出来的,

note, Data Engineering,Data Science, Data Warehouse被归类到了Analytics中,同时加上了Databases, Industry Solutions和Partner Workloads
这次主要尝试一下Microsoft Fabric中GraphQL API这个特性,试验一下使用GraphQL API去获取Lakehouse的数据并展示在web应用程序中
2.具体说明
假定当前Microsoft Fabric中已经有一个LakeHouse table如下图

2.1 创建GraphQL API
- 在Microsoft Fabric的Workspace中,点击New item按钮

- 选择 API for GraphQL 选项进行GraphQL API的创建,如下图

- 在弹出的窗口中,输入API for GraphQL的名字,然后点击Create按钮,

- 在API for GraphQL界面中,点击 Select data source 方框,

- 弹出的 connectivity option选择 SSO相关的选项,点击OK

- 选择要连接的Lakehouse

- 选择要连接的table

- 在出来的界面中,点击Copy endpoint

- 点击Copy按钮即可复制GraphQL API 的链接了

2.2 注册应用程序
在Microsoft Extra ID中创建一下应用程序


note, 记录一下Application ID, Tenant ID和Secret Value
同时给注册应用程序分配一下权限如下图

2.3 分配权限给Service Principal
这边是在试验的环境中,直接在Workspace中进行权限的分配了,如果是正式的业务系统,则建议只在对应的LakeHouse和GraphQL API中进行权限的分配


2.4 制作Blazor应用程序
这边把应用分成了Web API和Blazor两个部分
2.4.1 Web API
在Web API项目中连接Microsoft Fabric并获取Lakehouse中的数据(使用GraphQL API)
Web API项目要使用Microsoft.Identity.Client进行身份的认证,以下是进行Microsoft Extra ID身份认证和使用GraphQL API获取数据的代码

2.4.2 Web应用
这边使用的是Blazor应用,采用Blazor Server渲染模式,从Web API项目中获取数据并展示在Blazor界面中。其中Blazor界面使用到了开源社区的Ant Design Blazor框架
2.5 运行一下
启动项目,应用从Lakehouse中获取数据之前,会使用到Microsoft Extra ID进行身份的认证,会弹出如下的身份确认窗口,选择自己的帐户

登录成功后,会显示如下的提示在页面中

最后在Blazor的页面上会有Lakehouse的数据展示出来

3.总结
以上简单记录了一下使用Microsoft Fabric的GraphQL API的过程,感觉其中细节很多。连接Fabric GraphQL API可以使用后端的Web应用程序或者控制台程序,也可以在前端应用中使用,比如React程序。
Microsoft Fabric的体量非常庞大,同时新的功能也发布得很快。还需要跟着Microsoft Fabric的老师们学习一下。
本文如果哪里有错误的地方,麻烦告之,谢谢谢谢