用于从 GraphQL 端点定期镜像完整数据集的工具?

问题描述

我正在寻找一种工具,可以克隆在 GraphQL API 上公开的数据。

基本上可以定期运行并递归地将原始数据响应复制到磁盘的东西,利用基于连接的分页和游标来确保镜像内容进度的一致性。

假设这将是一个 24/7 提取数据的运行器,它要么必须重写/转换已复制的数据,要么更好地以更多事件源的方式应用更新,以便更轻松地提供不同的更改集在源 API 数据中。

解决方法

我不知道有任何这样的工具。我不确定这样的工具是否存在,因为

  1. 从 GraphQL 检索数据只需要现有 GraphQL 库上最薄的层,这些库的功能非常丰富
  2. 转换/写入可能是不同工具的一部分。我确信已经存在一些用于此的工具。我能想到的最简单的例子是 Git。获取差异就像在覆盖现有版本控制文件后运行 var headers = { 'Authorization': 'Bearer (API-KEY-HERE)','Accept': 'application/x-www-form-urlencoded' }; var options = { url: 'https://api.keywordseverywhere.com/v1/get_keyword_data',method: 'POST',headers: headers,body: 'dataSource=gkp&country=us&currency=USD&kw[]=keywords&kw[]=keyword' }; function callback(error,response,body) { console.log(response.body) if (!error && response.statusCode == 200) { console.log(body); } } request.post(options,callback); 一样简单。

检索数据的简单示例改编自 graphql-request Documentation Quickstart

git diff