Steampipe 介绍与选型指南
Steampipe(turbot/steampipe)开源 CLI 以 Postgres FDW 把云 API/SaaS 变成可 SQL 直查的数据源,本文实测溯源其维护状态(v2.4.9 活跃发版)、架构与功能,并与 CloudQuery 等做量化选型对比。
Steampipe 介绍与选型指南
目标:回答「Steampipe 是什么、还值不值得用、和 CloudQuery 这类工具怎么选」——全部结论来自 2026-11-03 对 GitHub 仓库页、官方 releases、steampipe.io 官网与 Steampipe Hub 的联网溯源,含对其维护状态(曾有停更/EOL 动向传闻)的专项甄别。
一、环境信息
- 溯源日期:2026-11-03(本文所有版本、星数、发布节奏均为当日实查值)
- 溯源渠道:
- GitHub 仓库页
https://github.com/turbot/steampipe(归档状态、许可证、星数 JSON) - GitHub Releases 页
https://github.com/turbot/steampipe/releases(版本号与发布日期) - 官网
https://steampipe.io与文档站https://steampipe.io/docs - 插件市场
https://hub.steampipe.io/plugins
- GitHub 仓库页
- 版本基线:Steampipe v2.4.9(2026-11-01 发布的最新稳定版)
- 说明:本文为认知篇,只做联网溯源;所有命令级实测见本专栏配套三篇(安装部署、配置参数、CLI 命令)。
二、软件概述
Steampipe 是 Turbot 公司主导的开源命令行工具,官方口号「select * from cloud;」——用**零 ETL(zero-ETL)**方式查询 API 与服务:它内嵌一个 PostgreSQL 实例,通过 Postgres FDW(Foreign Data Wrapper,外部数据包装器) 机制把 AWS、Azure、GCP、Kubernetes、GitHub、SaaS 服务等 140+ 数据源的 API 映射成一张张「外部表」,用户直接用标准 SQL 查询,无需先把数据抽取入库。
关键身份数据(均为 2026-11-03 实查):
| 项目 | 值 | 来源 |
|---|---|---|
| 仓库 | turbot/steampipe | GitHub |
| 许可证 | AGPL-3.0 | 仓库页 license 字段(spdxId: AGPL-3.0) |
| GitHub Star | 7,993 | 仓库页内嵌 JSON stargazerCount |
| 仓库归档状态 | 未归档(isArchived: false) | 仓库页内嵌 JSON |
| 最新稳定版 | v2.4.9(2026-11-01) | Releases 页 |
| 数据源数量 | 140+(CLI 帮助原文「Zero-ETL from 140+ data sources」) | 官方 CLI 输出 |
| 技术栈 | Go(单二进制),内嵌 PostgreSQL 14.x | 仓库/文档 |
💡 技术拓展:「把 API 变成可 SQL 查询的数据」这一目标有多种实现路线——
路线 代表 原理 取舍 Postgres FDW 实时查 Steampipe 外部表在查询时实时调 API,数据不落盘 零延迟新鲜度、无存储成本;查询时延受 API 限速影响 ELT 同步入库 CloudQuery、Airbyte 批量抽取到仓库/数据库再 SQL 查询快、可回溯历史快照;有存储与调度成本、数据有滞后 查询联邦引擎 Trino、Dremio 独立联邦查询层对接多源 面向大仓/湖分析,部署重 应用层 SDK 遍历 自写脚本 逐 API 拉取拼装 灵活但无 SQL 语义、维护成本高 Steampipe 走第一条:FDW 实时查,这也是它与本批同专栏生态的 CloudQuery(第二条路线)最根本的分野。
2.1 维护状态甄别(重点)
针对「Steampipe 开源版此前有停更/EOL 动向」的疑问,2026-11-03 实查结论如下:
活跃信号(开源版仍在正常发版):
- 仓库未归档(
isArchived: false),README 仍提供安装与开发指引; - Releases 近期节奏密集:v2.4.6(2026-09-09)、v2.4.7(2026-09-16)、v2.4.8(2026-10-22)、v2.4.9(2026-11-01),约一个月一版;
- v2.5.0-beta 预发布线也在推进(beta 构建日期 2026-06-22);
- 官网首页无任何 maintenance / end-of-life / deprecated 字样(当日全文检索)。
收缩信号(生态外围确有退坡迹象,选型需知悉):
- 官方示例/测试插件
stub在 Hub 已检索不到(本批实测steampipe plugin install stub返回Not found,2026-11-03); - 插件元数据 API(
artifactregistry.googleapis.com,steampipe 插件查 Hub registry 用)当日访问不稳定:直连 TLS 握手超时、经代理返回 403,steampipe_registry_plugin表查询难以稳定复现; - 官方文档站部分历史页面(如 steampipe.rc 配置参考)已 404,文档重心明显转向
.spc配置文件体系与 Turbot Pipes 云产品; - 商业层面 Turbot 主推托管产品 Turbot Pipes(配合 Powerpipe 可视化、Flowpipe 自动化),开源 CLI 是其本地形态。
结论:截至 2026-11-03,Steampipe 开源 CLI 未归档、持续发版、可正常选型;但生态外围(示例插件、registry API、旧文档)存在收缩迹象,重度依赖方应关注发版节奏,并把 CloudQuery(同步路线)作为已验证的替代方案(见第八节,站内已交付 《CloudQuery 6.50 介绍与选型指南》)。
三、核心架构
Steampipe 的运行时由四类进程/组件构成(依据官方 README、文档站与发布件结构):
- steampipe CLI(单二进制,Go):入口程序,子命令涵盖
query/plugin/service/login/completion;出于安全考虑拒绝以 root 运行。 - 内嵌 PostgreSQL 14.x:安装时自动下载、初始化到
~/.steampipe/db/<版本>/,默认监听 9193 端口(v2 默认接受网络连接,可配置收紧为仅本机)。用户可用任何 Postgres 客户端(psql、BI 工具)直连。 - plugin-manager + 插件进程:每个插件(如 hackernews、aws)是独立可执行文件,由常驻的
steampipe plugin-manager进程按需拉起子进程,经 FDW 协议与内嵌 PG 通信;插件崩溃不影响主服务。 - 外部表与 hydrate 机制:插件把 API 映射成 schema/外表;查询执行时按列需求并发调用 API(key_col 下推 + hydrate 并行取数),结果可选缓存(
cache_max_ttl)。
数据流:客户端 SQL → 内嵌 PG(FDW) → plugin-manager → 插件进程 → 目标 API → 行数据回流 SQL 结果。全程无 ETL、无落库(缓存除外)。
分发形态上,同一套插件生态提供五种消费方式(README「Steampipe distributions」):Steampipe CLI(内嵌 PG)、Steampipe Postgres FDW(挂到自有 PG)、Steampipe SQLite 扩展、Steampipe export 工具(免数据库导出)、Turbot Pipes(官方云托管)。
四、功能特性
- 零 ETL 实时查询:查的就是 API 当下状态,适合云资产盘点、安全合规检查(「现在有多少公开 S3 桶」类问题一条 SQL);
- 跨源 JOIN:多个插件的表在同一 PG 会话里直接 JOIN(如 hackernews 与本地数据、aws 与 gcp 对照);
- 插件化 140+ 数据源:Public Cloud / SaaS / Security / IaC / Internet / Media / PaaS / Software Development 等类别(Hub 分类,2026-11-03);
- 标准 Postgres 生态即插即用:psql、pgAdmin、Grafana、Metabase 等按普通 PG 库接入;
- SQL 全能力:CTE、窗口函数、JSONB、
information_schema自省都可用; - 快照/分享(snapshot):查询结果可导出
.sps快照文件或发布到 Turbot Pipes; - 多 workspace 配置档案:
--workspace切换不同连接/参数组合; - CI/CD 友好:单二进制 + 退出码 + JSON 输出,适合流水线里做策略检查。
五、快速开始(官方示例,联网溯源)
官方 README(2026-11-03 实查)给出的最小可用路径:
# Linux 或 WSL2:官方安装脚本(装到 /usr/local/bin,自动取最新稳定版)
sudo /bin/sh -c "$(curl -fsSL https://steampipe.io/install/steampipe.sh)"
# 安装一个免凭证插件(Hacker News 公开 API)
steampipe plugin install hackernews
# 直接查询(首次运行自动初始化 workspace 与内嵌数据库)
steampipe query "select * from hackernews_new limit 10"
注意两点(本批实测确认):Steampipe 不能以 root 身份运行,需普通用户;交互式控制台需要 TTY,管道输入不适用。完整安装与逐条回显见本专栏安装篇。
六、适用场景与限制
适合:
- 云资产/安全合规即席审计:不建数仓,一条 SQL 出「所有未开日志审计的存储桶」;
- 多源关联分析:云配置 + 工单系统 + 代码托管平台跨源 JOIN;
- BI/监控直连:Grafana/Metabase 把云 API 当数据库看板数据源;
- CI 策略检查:部署前用 SQL 校验目标环境状态;
- 无凭证体验/教学:hackernews、weather 等公开数据插件零门槛上手。
限制:
- 查询时延受 API 限速:大表扫描=大量 API 调用,百万行级分析不如先 ELT 入库;
- 无历史快照:查的是「现在」,需要时间序列回溯得配合导出或同步工具;
- AGPL-3.0 许可:商用分发/二次服务化需评估传染性条款(Turbot 商业授权另议);
- 生态收缩信号:见 2.1,示例插件下架、registry API 不稳;
- root 不可运行 + 常驻服务模型:与纯无状态 CLI(如 CloudQuery sync 完即退)运维心智不同。
七、同类选型对比(量化)
对比对象:Steampipe v2.4.9 vs CloudQuery 6.50.0(站内已交付,见 《CloudQuery 6.50 介绍与选型指南》),另附 Airbyte/Fivetran 一句话定位。除注明外均为 2026-11-03 实查。
| 维度 | Steampipe 2.4.9 | CloudQuery 6.50 |
|---|---|---|
| 数据模型 | 零 ETL:FDW 实时查 API,不落库 | ELT:批量同步进目标库再查 |
| 交付形态 | 单二进制 + 内嵌 PostgreSQL 常驻服务(默认端口 9193) | 单二进制 CLI,无守护进程,sync 完即退 |
| 查询入口 | 自带 PG 会话/任意 PG 客户端,跨源 JOIN | 目标库(PG/DuckDB/ClickHouse/S3 等)SQL |
| 数据新鲜度 | 查询时刻实时 | 取决于同步频率(批量滞后) |
| 历史回溯 | 无(需 snapshot/导出自建) | 天然保留同步时点快照 |
| 许可证 | AGPL-3.0 | MPL-2.0(插件 BUSL-1.1) |
| GitHub Star | 7,993(仓库页 JSON) | 6,551(CloudQuery A1 实测) |
| 最新稳定版 | v2.4.9(2026-11-01) | cli-v6.50.0(2026-11-02) |
| 发版节奏 | 近 3 个月 4 个稳定版 + v2.5 beta 线 | monorepo 双版本线高频发布(releases.atom) |
| 数据源/插件 | 140+(CLI 帮助原文) | 162(目录 API 实测,CloudQuery A1) |
| 免凭证试用 | 可以(hackernews/steampipe 插件,本批实测) | 可以(local registry,CloudQuery B1 实测) |
| 运行安全约束 | 拒绝 root 运行 | 无此限制 |
| 商业配套 | Turbot Pipes / Powerpipe / Flowpipe | CloudQuery Cloud / Meta |
解读:两者不是同类替代品而是互补路线——要「此刻状态、即席审计、不想养数仓」选 Steampipe;要「历史快照、大表分析、可回溯的资产台账」选 CloudQuery;生产上常见组合是 Steampipe 做实时核查、CloudQuery 定期同步进 PG 做趋势分析。
- Airbyte:平台型 ELT(Web UI+调度),管道多了再考虑;
- Fivetran:全托管商业 ELT,零运维但按量计费。
「如果…则…」速查:
| 场景 | 建议 |
|---|---|
| 即席审计云配置合规、跨源 JOIN 少量数据 | Steampipe |
| 需要资产历史快照/趋势报表 | CloudQuery(或 Steampipe+定时导出) |
| 已有 Grafana/Metabase 想直连云 API | Steampipe(当 PG 用) |
| 无法接受 AGPL-3.0 | CloudQuery(MPL-2.0) |
| 担心 Steampipe 生态收缩 | 主选 CloudQuery,Steampipe 作实时补充 |
八、参考链接
- Steampipe 仓库:https://github.com/turbot/steampipe (2026-11-03 实查,未归档,AGPL-3.0,7,993 stars)
- Steampipe Releases:https://github.com/turbot/steampipe/releases (v2.4.9,2026-11-01)
- 官网与文档:https://steampipe.io / https://steampipe.io/docs
- Steampipe Hub 插件市场:https://hub.steampipe.io/plugins
- 站内:《CloudQuery 6.50 介绍与选型指南》