Superglue 数据连接器:项目介绍与使用教程
1. 项目介绍
Superglue 是一个自修复的开源数据连接器,它可以帮助你作为代理,介于你与任何复杂的或遗留的 API 之间,确保你总是能够以期望的格式获取所需的数据。通过定义所需的数据模式并提供关于 API 端点的基本指示(例如“从 Jira 获取所有问题”),Superglue 能够自动执行以下操作:
- 自动生成 API 配置,通过分析 API 文档。
- 处理分页、认证和错误重试。
- 使用 JSONata 表达式将响应数据转换成你期望的确切模式。
- 验证所有通过的数据是否符合该模式,并在转换出现问题时进行修复。
如果你的工作涉及大量连接到怪异 API 的代码编写,处理外文 ERP 中的自定义字段,映射 JSON,从 FTP 服务器上的压缩 CSV 文件中提取数据,并确保你的集成在遇到意外数据时不会崩溃,那么 Superglue 可能就是为你准备的。
2. 项目快速启动
以下是快速启动 Superglue 的步骤:
首先,运行以下命令安装 Superglue 的 JavaScript/TypeScript 客户端:
npm install @superglue/client
然后,配置你的第一个 API 调用:
import { SuperglueClient } from "@superglue/client";
const superglue = new SuperglueClient({
apiKey: "你的API密钥"
});
const config = {
urlHost: "https://futuramaapi.com",
urlPath: "/graphql",
instruction: "获取该节目中的所有角色",
responseSchema: {
type: "object",
properties: {
characters: {
type: "array",
items: {
type: "object",
properties: {
name: { type: "string" },
species: { type: "string", description: "小写" }
}
}
}
}
}
};
const result = await superglue.call({ endpoint: config });
console.log(JSON.stringify(result.data, null, 2));
输出示例:
{
"characters": [
{
"name": "Phillip J. Fry",
"species": "human"
},
...
]
}
如果你希望自托管 Superglue,可以使用 Docker:
- 拉取 Docker 镜像:
docker pull superglueai/superglue
-
创建一个
.env文件,复制根目录下的.env.example文件。 -
启动服务器:
docker run -d \
--name superglue \
--env-file .env \
-p 3000:3000 \
-p 3001:3001 \
superglueai/superglue
- 验证安装:
curl http://localhost:3000/health
输出应为 OK。
- 打开仪表板创建你的第一个配置:
http://localhost:3001/
- 运行你的第一个调用:
npm install @superglue/client
// 以下是使用配置对象或 API ID 的示例
const result = await superglue.call({ endpoint: config });
// 或者
const result2 = await superglue.call({ id: "futurama-api" });
console.log(JSON.stringify(result.data, null, 2));
3. 应用案例和最佳实践
- API 转换:利用 Superglue 的实时 API 响应转换功能,可以快速适应外部 API 的变化,而不需要修改现有代码。
- 数据集成:Superglue 可以作为数据集成层,连接不同来源的数据,并将其统一为单一格式,便于内部系统使用。
- 数据清洗:在数据导入前,使用 Superglue 进行数据验证和清洗,确保数据质量。
4. 典型生态项目
Superglue 的生态系统包括但不限于以下项目:
- Superglue 客户端 SDK:用于与 Superglue 服务交互的客户端库。
- Superglue 仪表板:Web 界面,用于配置和管理 Superglue 端点。
- Superglue 代理:作为反向代理运行,处理 API 请求和响应。
通过这些项目和工具,Superglue 旨在简化数据集成流程,提高开发效率。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



