第 12 章 GraphQL 的 Microsoft Fabric API
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
如果您有开发人员的背景或角色,您可能会想知道:我们正在使用代码创建一个自定义仪表盘,我们需要存储在 Microsoft Fabric 内部的数据--除了通过 SQL 分析端点之外,我们还能以其他方式访问这些数据吗?
这是我们多次遇到的实际需求。简短的回答是:可以!对于较长的答案,我们建议您阅读本章,了解如何利用 Fabric API for GraphQL 功能,获得比传统 REST API 方法更强的数据检索体验。
老实说,Fabric API for GraphQL 这个官方名称听起来太吓人了,即使是经验丰富的数据专家也不例外,更不用说刚刚开始 Fabric 学习之旅的人了,除非你是经验丰富的应用程序开发员。因此,让我们先来了解一下这项功能的核心概念。
首先,GraphQL 是一种查询语言。你可能已经从它的名字(QL代表查询语言)猜到了这一点。更进一步说:它不是任何查询语言,而是 API 的查询语言。它是一个开源协议,并已在许多编程语言中成功实现。由于 GraphQL 是一种 API 查询语言,因此它并不与任何特定的数据库引擎或供应商有界。
从高层次的角度来看,与 REST API 相比,GraphQL 的 主要优势如下:
- 灵活性
-
GraphQL 允许您定义需要提取的各个列,而大多数 REST API 只提供标准响应。
- 高效
-
GraphQL 可以在一次调用中组合多个查询。一个简单的例子是,在 GraphQL 查询中可以连接表。在 GraphQL 中,这将导致一次调用,而在 REST API 中,这将产生多次调用。
GraphQL 核心操作
GraphQL 支持三种操作类型:
- 查询
-
查询是 GraphQL 的基本操作类型。 在某种程度上,GraphQL 查询可能会让您想起 SQL 查询,至少从逻辑角度来看是这样:您可以从表中选择特定字段、连接多个表、对数据进行过滤和排序等。
- 突变
-
突变对应于 在服务器端修改数据的命令。可以把这种操作看作等同于 SQL 中的
CREATE、UPDATE和DELETE语句。 - 订阅
-
订阅允许 订阅实时数据。您可以订阅特定事件,如数据删除或用户创建,每当事件发生时,服务器就会将数据发送到 GraphQL 查询。
注释
在撰写本文时,Microsoft Fabric 仅支持 GraphQL 的查询和突变操作类型,不过将来很可能会为实时智能工作负载支持订阅操作。
在 Fabric 中使用 GraphQL
在解释 如何在 Microsoft Fabric 中创建和执行 GraphQL 查询之前,让我们先根据 Fabric 项目类型简要了解一下当前支持的操作。表 12-1显示了哪些 GraphQL 操作可以在 Fabric 项目中执行。
| 结构项目类型 | GraphQL 操作类型 |
|---|---|
|
仓库 |
查询/突变 |
|
仓库 |
查询 |
|
镜像数据库 |
查询 |
|
Fabric 中的 SQL 数据库 |
查询/突变 |
|
Azure SQL DB |
查询/突变 |
请注意,目前只有 Fabric 仓库、Azure SQL 数据库和 Fabric 中的 SQL 数据库允许修改数据。
可以利用单个 GraphQL 项目同时查询多个仓库、湖库、镜像数据库和 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access