只需三步即可透过 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 有更多元的方式被业务使用。

相关推荐
晓晨的博客6 分钟前
ROS1录制的bag包转换为ROS2格式
前端·chrome
Wect14 分钟前
LeetCode 72. 编辑距离:动态规划经典题解
前端·算法·typescript
donecoding27 分钟前
别再让 pnpm 跟着 nvm 跑了!独立安装终极指南
前端·node.js·前端工程化
GISer_Jing29 分钟前
AI全栈转型_TS后端学习路线
前端·人工智能·后端·学习
竹林81830 分钟前
被The Graph的GraphQL查询坑了三天,我用一个真实DeFi项目把链上数据索引彻底搞懂了
前端·graphql
漫游的渔夫30 分钟前
前端开发者做 Agent:别只会执行,用 4 类失败策略让 AI 知道怎么停
前端·人工智能·typescript
用户0595401744633 分钟前
把多级缓存一致性验证从手工测试换成 Pytest 参数化,Bug 排查时间缩短 90%
前端·css
暗不需求34 分钟前
深入理解 LangChain:AI 应用开发框架的工程化实践
前端·langchain
用户059540174461 小时前
把 Redis 持久化测试从 800 行 Shell 换成 30 行 pytest,排错效率翻了 10 倍
前端·css
GISer_Jing1 小时前
AI全栈工程师知识体系全景:从前后端核心架构到落地项目全拆解
前端·人工智能·后端·ai编程