DataFlare API 文档

使用我们的API构建强大的数据处理应用和集成

快速入门
开始使用DataFlare API只需几个简单步骤
  1. 1.

    创建API密钥

    在您的DataFlare仪表盘中创建API密钥和密钥对。

  2. 2.

    获取访问令牌

    使用您的API密钥和密钥对获取访问令牌。

  3. 3.

    调用API端点

    使用访问令牌调用任何DataFlare API端点。

SDK 示例

使用我们的官方SDK更快地集成DataFlare API

// 安装SDK: npm install dataflare-sdk

import { DataFlareClient } from 'dataflare-sdk';

// 初始化客户端
const client = new DataFlareClient({
  apiKey: 'your_api_key',
  apiSecret: 'your_api_secret'
});

// 获取SmartModules列表
async function getSmartModules() {
  try {
    const modules = await client.smartModules.list();
    console.log(modules);
  } catch (error) {
    console.error('获取SmartModules失败:', error);
  }
}

// 创建数据流水线
async function createPipeline() {
  try {
    const pipeline = await client.pipelines.create({
      name: '日志处理流水线',
      description: '处理应用日志的流水线',
      source: {
        connector_id: 'conn-5432',
        config: {
          bucket: 'app-logs',
          prefix: 'production/'
        }
      },
      processors: [
        {
          module_id: 'sm-1234',
          config: {
            field: 'message',
            output_field: 'category'
          }
        }
      ],
      sink: {
        connector_id: 'conn-9876',
        config: {
          table: 'processed_logs',
          batch_size: 100
        }
      }
    });
    console.log('流水线已创建:', pipeline);
  } catch (error) {
    console.error('创建流水线失败:', error);
  }
}

getSmartModules();
createPipeline();

API 端点

探索DataFlare API提供的所有端点

认证
获取API访问令牌
POST/api/v1/auth/token

请求示例

curl -X POST https://api.dataflare.dev/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "your_api_key",
    "api_secret": "your_api_secret"
  }'

响应示例

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}
SmartModules
获取可用的SmartModules列表
GET/api/v1/smartmodules

请求示例

curl -X GET https://api.dataflare.dev/v1/smartmodules \
  -H "Authorization: Bearer your_access_token"

响应示例

{
  "modules": [
    {
      "id": "sm-1234",
      "name": "文本分类器",
      "description": "基于机器学习的文本分类模块",
      "version": "1.0.0",
      "created_at": "2023-10-15T08:30:00Z"
    },
    {
      "id": "sm-5678",
      "name": "情感分析",
      "description": "分析文本情感倾向的模块",
      "version": "2.1.0",
      "created_at": "2023-11-20T14:45:00Z"
    }
  ],
  "total": 2,
  "page": 1,
  "page_size": 10
}
连接器
获取可用的数据连接器列表
GET/api/v1/connectors

请求示例

curl -X GET https://api.dataflare.dev/v1/connectors \
  -H "Authorization: Bearer your_access_token"

响应示例

{
  "connectors": [
    {
      "id": "conn-9876",
      "name": "PostgreSQL连接器",
      "description": "连接PostgreSQL数据库的连接器",
      "version": "1.2.0",
      "created_at": "2023-09-05T10:20:00Z"
    },
    {
      "id": "conn-5432",
      "name": "S3连接器",
      "description": "连接Amazon S3存储的连接器",
      "version": "1.0.1",
      "created_at": "2023-10-12T16:30:00Z"
    }
  ],
  "total": 2,
  "page": 1,
  "page_size": 10
}
数据流水线
创建新的数据处理流水线
POST/api/v1/pipelines

请求示例

curl -X POST https://api.dataflare.dev/v1/pipelines \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_access_token" \
  -d '{
    "name": "日志处理流水线",
    "description": "处理应用日志的流水线",
    "source": {
      "connector_id": "conn-5432",
      "config": {
        "bucket": "app-logs",
        "prefix": "production/"
      }
    },
    "processors": [
      {
        "module_id": "sm-1234",
        "config": {
          "field": "message",
          "output_field": "category"
        }
      }
    ],
    "sink": {
      "connector_id": "conn-9876",
      "config": {
        "table": "processed_logs",
        "batch_size": 100
      }
    }
  }'

响应示例

{
  "pipeline_id": "pl-7890",
  "name": "日志处理流水线",
  "status": "created",
  "created_at": "2023-12-01T09:15:00Z"
}

认证

获取访问令牌
所有API请求都需要使用Bearer令牌进行认证

要获取访问令牌,请向/api/v1/auth/token端点发送POST请求, 包含您的API密钥和密钥对。

请求头

Content-Type: application/json

请求体

{
  "api_key": "your_api_key",
  "api_secret": "your_api_secret"
}

响应

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}

访问令牌的有效期为1小时(3600秒)。在令牌过期后,您需要获取新的令牌。

错误处理

错误响应格式
了解如何处理API错误响应

当API请求失败时,您将收到一个包含错误详情的JSON响应,以及相应的HTTP状态码。

错误响应示例

{
  "error": {
    "code": "invalid_credentials",
    "message": "提供的API密钥或密钥对无效",
    "status": 401
  }
}

常见错误代码

HTTP状态码错误代码描述
400invalid_request请求格式无效或缺少必要参数
401invalid_credentials认证失败或令牌无效
403forbidden没有权限执行请求的操作
404not_found请求的资源不存在
429rate_limit_exceeded超出API请求速率限制
500server_error服务器内部错误

速率限制

API请求限制
了解DataFlare API的使用限制

为了确保服务质量和公平使用,DataFlare API实施了速率限制。限制根据您的账户类型而有所不同。

账户类型限制
开发者60次请求/分钟
专业版300次请求/分钟
企业版1000次请求/分钟

当您超出速率限制时,API将返回429状态码和rate_limit_exceeded错误。 响应头中的X-RateLimit-RemainingX-RateLimit-Reset字段 分别表示剩余的请求次数和重置计数器的时间(以秒为单位)。

需要帮助?

如果您有任何问题或需要进一步的帮助,请查看我们的支持资源