跳到主要内容
版本:Next

Sentry

Sentry 项目错误事件 Source 连接器。

描述​

通过 GET /api/0/projects/{organization}/{project}/events/ 读取单个项目的错误事件,用于外部数据仓库分析。现有 Sentry Sink 和 DSN 认证保持不变。

主要特性​

  • 批处理
  • 流处理
  • 精确一次

仅支持 BATCH 模式和并行度 1,读取显式指定的时间范围。不支持项目发现、追踪、附件或一致性快照。 引擎注入的失败策略必须为 FAIL_FAST,单项目 Source 不支持继续处理其他表的策略。

前置条件​

使用具有目标项目 project:read 权限的 Bearer Token,Sink DSN 不能用于读取事件。 区域服务或自托管部署通过 api_base_url 指定 HTTPS 源站,不能包含路径、查询参数、片段或末尾斜杠。 不跟随重定向,请直接配置最终 API 地址。默认验证 TLS 证书。 仅在 mock_mode=true 且 token="mock-token" 时允许 HTTP 测试服务,不得使用真实凭据。

参考 事件 API 和 分页协议。

读取与恢复语义​

start_time 和 end_time 必须是含时区偏移的绝对 RFC3339 时间,且开始早于结束。每页请求均携带规范化为 UTC 的时间范围。 固定发送 full=false 和 sample=false;content 是 API 返回的摘要事件,不包含完整堆栈。 page_size 对应 per_page。

仅在 Link 响应头中 rel="next" 且 results="true" 时读取下一页,results="false" 表示结束。 只提取游标,下一页始终使用已配置的源站、路径和时间范围。 缺失或非法分页头、循环游标、非法记录、重复 JSON 键、响应超限或超过 max_pages 均使作业失败,不会静默截断。

HTTP 429、500、502、503、504 和传输失败会进行有界重试。支持以秒数或 HTTP 日期表示的 Retry-After。 超过 60 秒的服务端等待要求会使作业失败,留待稍后重试,不会提前请求。认证失败和重定向不重试。 关闭 Reader 会中止正在执行的请求并唤醒重试等待。 超时参数控制 HTTP I/O 并为每次尝试安排中止。操作系统同步 DNS 解析、JSON 解析和重试等待不受严格的作业总时限约束。

恢复时重新读取整个时间范围,不对远端游标做检查点恢复。读取期间持有检查点锁,因此应选择合理时间范围和检查点超时。 失败前已写入非事务 Sink 的记录可能在重试后重复,必要时在下游去重。 数据保留策略、延迟写入、事件删除及分页期间数据变更可能影响结果,不保证完整历史、相邻范围无遗漏或快照一致性。

输出结构​

固定结构,不支持自定义 schema。所有列均为 STRING,以保留标识符和时间戳表达。

列可为空含义
event_id否API 的 eventID
group_id是groupID
project_id是projectID
date_created是原始 dateCreated
title是事件标题
message是事件消息
platform是事件平台
content否完整返回事件对象序列化后的 JSON

缺少可选字段时输出 null,类型不符则失败。JSON 数值保留十进制精度,但 content 不保证与响应逐字节一致。 事件可能包含个人数据,请限制目标存储访问并避免记录行内容。默认配置日志脱敏规则会隐藏 token。

参数​

参数类型必填默认值描述
tokenSTRING是-具有项目读取权限的 Bearer Token
organizationSTRING是-组织 ID 或名称
projectSTRING是-项目 ID 或名称
start_timeSTRING是-绝对 RFC3339 开始时间
end_timeSTRING是-绝对 RFC3339 结束时间
api_base_urlSTRING否https://sentry.ioHTTPS 源站,不含路径及末尾斜杠
page_sizeINT否100每页请求记录数,1–100
max_pagesINT否10000页数上限,1–100000;超限失败
max_retriesINT否3额外重试次数,0–5
retry_delay_msINT否1000最小重试间隔,1–60000 毫秒
request_timeout_msINT否30000每次 HTTP 连接/读取超时及中止期限,1–120000 毫秒
max_response_bytesINT否8388608解压后响应字节上限,1024–16777216
mock_modeBOOLEAN否false仅允许使用假 Token 的 HTTP 测试服务

支持 plugin_output 等 Source 通用参数。 组织和项目名称接受字母、数字、下划线和连字符。Source 不支持 query、full、sample、dsn 或自定义 schema。

示例​

运行前请设置 SENTRY_TOKEN 和 WAREHOUSE_PASSWORD 环境变量。以下未加引号的 HOCON 替换表达式将在加载配置时解析为对应值。

env {
parallelism = 1
job.mode = "BATCH"
}
source {
Sentry {
plugin_output = "events"
token = ${SENTRY_TOKEN}
organization = "example"
project = "backend"
start_time = "2026-01-01T00:00:00Z"
end_time = "2026-01-02T00:00:00Z"
}
}
sink {
Jdbc {
plugin_input = "events"
url = "jdbc:postgresql://warehouse:5432/analytics"
driver = "org.postgresql.Driver"
user = "writer"
password = ${WAREHOUSE_PASSWORD}
database = "analytics"
table = "sentry_events"
generate_sink_sql = true
}
}

请按上述八个字段创建兼容 STRING 类型的目标表并安装 JDBC 驱动。 集成测试使用确定性的 Sentry API 模拟服务运行引擎作业,不代表已验证所有 Sentry 云服务或自托管版本。

更新日志​

Change Log
ChangeCommitVersion
[improve] sentry options (#9261)https://github.com/apache/seatunnel/commit/4a2f3fa9152.3.11
[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)https://github.com/apache/seatunnel/commit/6b7c53d03c2.3.9
[Improve] Remove use SeaTunnelSink::getConsumedType method and mark it as deprecated (#5755)https://github.com/apache/seatunnel/commit/8de74081002.3.4
[Improve][build] Give the maven module a human readable name (#4114)https://github.com/apache/seatunnel/commit/d7cd6010512.3.1
[Improve][Project] Code format with spotless plugin. (#4101)https://github.com/apache/seatunnel/commit/a2ab1665612.3.1
[Hotfix][OptionRule] Fix option rule about all connectors (#3592)https://github.com/apache/seatunnel/commit/226dc6a1192.3.0
[Improve][Connector-V2][Sentry] Unified exception for sentry sink connector (#3513)https://github.com/apache/seatunnel/commit/94b472b8062.3.0
[Connector][Dependency] Add Miss Dependency Cassandra And Change Kudu Plugin Name (#3432)https://github.com/apache/seatunnel/commit/6ac6a0a0cd2.3.0
[Feature][Sentry Sink V2] Add Sentry Sink Option Rules (#3318)https://github.com/apache/seatunnel/commit/850f4838162.3.0
[Feature][Connector-V2] Add sentry sink connector #2244 (#2584)https://github.com/apache/seatunnel/commit/9fd40390a72.2.0-beta