分段列举
把 key 空间拆成独立分段并发扫描,而不是等待一条很长的分页链。
Rust CLI / 对象存储
s3-turbo-list 是面向运维团队和数据工程师的高性能 CLI:并发生成存储桶清单,支持 provider 诊断、可追踪运行、差异对比、断点续跑和 Parquet 分析输出。
$ s3-turbo-list --dry-run --agent \
--output-dir out --delimiter '' \
list --region us-east-2 --bucket my-bucket
plan.segments 64
plan.output out/*.parquet
trace.enabled true
checkpoint.resume ready
$ s3-turbo-list manifest-summary run.json --check
artifacts ok
parquet.rows verified
exit_code 0 功能
把 key 空间拆成独立分段并发扫描,而不是等待一条很长的分页链。
把每一次 S3 API 调用记录成结构化 JSONL,便于在运行后观察 provider 行为。
从已保存的分段进度恢复中断扫描,并通过身份校验避免错配运行。
把清单和差异结果直接写入压缩 Parquet,方便 DuckDB、pandas 和审计流程使用。
为什么需要它
常规列举工具通常绑定在单条 ListObjectsV2 分页链上。小桶还好,当对象数量达到百万、千万甚至更高时,这会非常痛苦。
s3-turbo-list 会切分 key 空间,并行执行列举,并通过 manifest、trace、checkpoint 和 Parquet 产物让运行过程可审计。
工作流
先运行 compat-probe 或 doctor,在大规模列举前验证 endpoint 行为。
用 dry-run 和 agent-friendly JSON 检查输出路径、提示和警告。
用并发分段、有界内存、运行 manifest 和 trace 输出完成列举。
在 DuckDB 或 pandas 中加载 Parquet,或查看 trace JSONL 理解 provider 行为。
兼容性
Endpoint preset、compat-probe、trace 输出和校验报告可以帮助你在扩展扫描规模前理解每个 provider 的具体行为。