# 按连接器查询同步任务

查询一个 Langfuse 连接器关联的 Trace 同步任务。连接器尚未创建任务时，接口仍成功并返回空结果。

```text
GET https://moi.matrixorigin.cn/newmoi/trace-sync/tasks/by-connector/{connector_id}
```

## 调用前准备

先[查询连接器列表](../connectors/list-connectors.md)取得连接器 ID。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和连接器 ID。

下方示例使用：

- `$AI_STUDIO_API_KEY`：实际个人访问令牌，通过 `X-API-Key` Header 传递。
- `$WORKSPACE_ID`：目标工作区 ID，通过 `X-Workspace-ID` Header 传递。
- `$CONNECTOR_ID`：要查询关联任务的连接器 ID。

## 路径参数

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `connector_id` | string | 是 | 连接器 ID。 |

## 请求示例

```bash
curl "https://moi.matrixorigin.cn/newmoi/trace-sync/tasks/by-connector/$CONNECTOR_ID" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID"
```

## 成功响应

连接器有关联任务时返回任务对象；没有关联任务时，`data` 为 `null`。

```json
{
  "code": "OK",
  "msg": "OK",
  "data": {
    "id": "task_01",
    "connector_id": "conn_01",
    "name": "production-traces",
    "catalog_name": "trace_catalog",
    "database_name": "langfuse_trace_db",
    "table_name": "lf_production_traces",
    "sync_historical": true,
    "user_id_source": "metadata",
    "user_id_metadata_key": "customer_id",
    "poll_interval_sec": 60,
    "session_idle_timeout_sec": 300,
    "session_end_strategy": "idle_timeout",
    "session_end_metadata_key": "session_end",
    "session_end_metadata_value": "ended",
    "sync_status": "steady",
    "auto_extract_enabled": false,
    "created_by": "user_01",
    "created_at": "2026-08-20T08:00:00Z",
    "updated_at": "2026-08-21T08:00:00Z",
    "session_count": 12
  }
}
```

响应字段如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | string | 成功时为 `OK`。 |
| `msg` | string | 成功时为 `OK`。 |
| `data` | object 或 null | 关联任务；没有任务时为 `null`。 |
| `data.id` | string | 同步任务 ID。 |
| `data.connector_id` | string | 关联的连接器 ID。 |
| `data.name` | string | 任务名称。 |
| `data.catalog_name` | string | 目标 Catalog 名称。 |
| `data.database_name` | string | 目标数据库名称。 |
| `data.table_name` | string | 目标表名称。 |
| `data.sync_historical` | boolean | 是否同步历史数据。 |
| `data.start_from` | string | 历史同步起始时间；未设置时省略。 |
| `data.user_id_source` | string | 用户标识来源。 |
| `data.user_id_metadata_key` | string | metadata 用户标识键。 |
| `data.poll_interval_sec` | integer | 拉取间隔秒数。 |
| `data.session_idle_timeout_sec` | integer | 会话空闲结束阈值，单位为秒。 |
| `data.session_end_strategy` | string | 会话结束判定策略。 |
| `data.session_end_metadata_key` | string | 显式结束会话使用的 metadata 键。 |
| `data.session_end_metadata_value` | string | 显式结束会话匹配的 metadata 值。 |
| `data.sync_status` | string | 同步状态。 |
| `data.last_synced_to` | string | 最近同步水位；尚无水位时省略。 |
| `data.last_success_at` | string | 最近成功时间；尚未成功时省略。 |
| `data.last_error` | string | 最近错误；没有错误时省略。 |
| `data.auto_extract_enabled` | boolean | 是否启用自动记忆提取。 |
| `data.created_by` | string | 创建者 ID。 |
| `data.created_at` | string | 创建时间。 |
| `data.updated_at` | string | 更新时间。 |
| `data.session_count` | integer | 已发现的同步会话数量。 |

## 错误响应

```json
{
  "code": "FORBIDDEN",
  "msg": "permission denied",
  "data": null
}
```

### 常见 HTTP 错误

```{list-table}
:header-rows: 1
:widths: 12 24 36 28

* - HTTP 状态码
  - 错误代码
  - 常见原因
  - 建议操作
* - `403`
  - `FORBIDDEN`
  - 调用者无权读取该连接器。
  - 联系管理员检查连接器读取权限。
* - `500`
  - `INTERNAL`
  - 平台未能读取关联任务。
  - 稍后重试。
* - `503`
  - `IAM_UNAVAILABLE`
  - 权限服务暂时不可用。
  - 稍后重试。
```

## 后续操作

返回任务时，使用 `data.id` [查询同步任务详情](get-sync-task.md)或[更新同步任务](update-sync-task.md)；`data` 为 `null` 时，可使用当前连接器 ID [创建同步任务](create-sync-task.md)。
