只需三步即可透过 DataWorks 数据服务建构 GraphQL 服务

前言

DataWorks 数据服务提供便捷的操作即可提供大数据 API,现在支持导出更完整的 API 文档 (基于 Open API v3),除了能导入到三方插件 (PostmanVSCodeSwaggerRedocIntelliJ IDEA 等),还能转成 GraphQL,本文将介绍如何将 DataWorks 数据服务 API 提供到 GraphQL 服务上。

第一步

首先先建立一个数据源并准备好数据,这边我们使用 Hologres 为例,并透过 HoloWeb 建立表与数据。

第一张表为 user 表:

image

第二张表为 salary 表:

image

第二步

DataWorks 管理中心添加此 Hologres 数据源,打开 DataWorks 数据服务建立两个 API。

第一个为查 User 的 API:

image

第二个为查 Salary 的 API:

image

将两个 API 测试提交并上线,于 API 管理页面将两个 API 导出文档。

image

这边我们勾上导出 APP Code,方便简化使用 GraphQL,到此我们就拿到导出的 API 文档 JSON。

image

第三步

安装 openapi-to-graphql-cli NPM 包。

注: open-api-to-graphql-cli 新版已移到 @graphql-mesh/cli 下,使用方式类似,可参考此文章

css 复制代码
npm i -g openapi-to-graphql-cli

透过 openapi-to-graphql 指令将 API 文档转译并启动 GraphQL 服务。

javascript 复制代码
openapi-to-graphql ~/Downloads/Export_Open_API_V3_xxx.json
image

打开http://localhost:3000/graphsql,开始使用 GraphQL。下图为透过一个 id 参数得到两个 API 的返回结果,可自行组织字段结构,类型定义都可以在右侧查看。

image

下图为动图:

image

点击界面上的 Prettify 按钮,即可于浏览器上取得带 GraphQL Query 的 URL,直接请求 URL 也可拿到结果。

image

将此步骤内容部署到阿里云函数计算,就能提供前端方便的 GraphQL 服务,如使用 RelayApollo 用户端来连接 GraphQL 服务。

小结

DataWorks 数据服务透出 API 文档除方便开发者本地查阅线上 API 的规格外,还可透过基于业界标准将 API 文档转化成 GraphQL 服务,让大数据 API 有更多元的方式被业务使用。

相关推荐
Vuji28 分钟前
Pi 插件解剖|ssh.ts:只用 221 行,让 Agent 直接在远程机器干活
前端·人工智能·agent
漏刻有时1 小时前
Three.js 3D地图开发实录:从GeoJSON到流光飞线,一个纯前端SPA可视化引擎的12个坑
前端
clawdashi1 小时前
2026 办公 Agent 选型指南:按场景分五类,一次讲清
前端·人工智能
无糖可可果1 小时前
从零看懂 JWT 登录鉴权:一个 React Demo 的完整拆解
前端·javascript
驳是1 小时前
代码洁癖患者会喜欢的几款 CLI 小工具
前端
Csvn1 小时前
🛋️ requestIdleCallback:把非关键任务塞进浏览器的"空闲时间",告别卡顿
前端
江华森1 小时前
从 fork 到协程:一次完整的操作系统并发编程实操
前端·程序员
四千岁1 小时前
稀疏向量BM25Retriever不支持中文怎么办?jieba来帮忙
前端·javascript·后端
这是个栗子1 小时前
【JS代码分析】前端鉴权基础:Token 的本地存储与状态重置实践
开发语言·前端·javascript
颜进强1 小时前
14 - OpenSpec 老页面改造骨架:定位 + 增量 + 回归三件套
前端·后端·ai编程