Soda CLI(sodacli)是命令行数据质量管理工具,所有命令遵循 sodacli <resource> <action> 格式。供智能体调用时应始终加 --output json 以获得可解析的结构化输出,否则输出人类可读表格。
主要能力:auth 登录/登出/状态/切换配置文件;datasource 的列出、获取、创建、更新、删除、引导向导、连接测试与诊断;dataset 的列出(支持过滤)、获取、更新、剖析、诊断、权限与引导;contract 的列出、推送、拉取、差异、lint(JSON Schema 校验)、创建(skeleton/copilot 模式)与验证(云端或本地 soda-core);monitor 的列出、配置、添加列/自定义监控、更新、删除;results 列出(过滤、排序、日期范围);job 状态与日志;runner 管理(创建返回 Kubernetes 部署用 API 密钥);iam 用户列表/邀请、组增删改查、角色列表;secret 的增删改查(客户端 AES-256-GCM + RSA-OAEP 加密)。incident、dataset attributes、notification、job list/cancel、contract proposal、monitor add --type dataset 暂不可用。
使用方式:登录用 sodacli auth login --host cloud.soda.io --api-key-id <id> --api-key-secret <secret>,凭据存于 ~/.soda/credentials;支持命名配置文件 --profile。数据源引导可执行 sodacli datasource onboard warehouse.yml --monitoring --profiling --contracts skeleton,发现为异步,需用 sodacli job logs <scan-id> 确认完成;dataset onboard 须在 datasource onboard 至少运行一次后才可用。契约可 lint 后 push/diff,验证支持云端 Runner 或 --local --datasource。监控支持列指标(count、missing-pct、avg、freshness 等)与自定义 SQL。结果可按键名过滤、状态、日期范围查询。密钥以 ${secret.DB_PASSWORD} 引用。CI/CD 中退出码 0 通过、1 检查失败、2 执行错误、3 认证错误。
适用场景:数据质量检查自动化、契约管理与验证、监控配置、CI/CD 流水线集成、权限与密钥管理。限制:部分 API 受阻不可用;发现异步需等待;copilot 生成的 UUID 正则检查在 Postgres 上会失败;命令验证失败时需查 job logs 获取详情。平台、收费与价格信息暂未提供。