このプロジェクトについて

Steampipeは、SQLを使ってAPIやサービスをクエリするためのオープンソースツールであり、「ゼロETL」アプローチに従っています。データをウェアハウスにコピーする代わりに、APIエンドポイントをデータベーステーブルにマッピングし、ライブでクエリできるようにします。 READMEに記載されている主な特徴: - インターフェースとしてのSQL: データソースはテーブルとして公開されるため、ユーザーは標準SQLでクエリできます。 - ライブデータ: クエリは古いコピーではなく、基盤となるAPIにリアルタイムでアクセスします。 - 並行性: 複数のデータソースを並列にクエリできます。 - 単一バイナリ: ローカルで実行することも、CI/CDパイプラインにデプロイすることもできます。 インストールは、macOSではHomebrew(brew install turbot/tap/steampipe)、LinuxおよびWindows(WSL2)ではシェルインストーラーを利用できます。インストール後、ユーザーはサービス用のプラグインを追加します。例えば: steampipe plugin install hackernews その後、対話的にクエリを実行します: steampipe query > select * from hackernews_new limit 10 プラグインエコシステム: コミュニティはAPIをテーブルにマッピングするプラグインを維持しており、AWS、Azure、GCP、Kubernetes、GitHub、Microsoft 365、Salesforceなど多くのサービスをカバーしています。READMEには、合計2000以上のテーブルがあり、それぞれにコピー/ペースト/実行の例が文書化されていると記載されています。 配布形態: 同じプラグインモデルがいくつかの形式で提供されています — Steampipe CLI(同梱のPostgresインスタンスに対するクエリ)、ネイティブPostgres外部テーブル用のPostgres Foreign Data Wrappers、仮想テーブル用のSQLite拡張、データベースなしでAPIからデータを取得するスタンドアロンのエクスポートバイナリ、そしてクラウドでSteampipeを実行するためのTurbot Pipesです。 開発: コアバイナリのビルドには、リポジトリをクローンしてmakeを実行します。生成されたバイナリは、別のOUTPUT_DIRを設定しない限り/usr/local/bin/steampipeに配置されます。プラグイン開発は別途文書化されています。 ライセンスとガバナンス: リポジトリはAGPL 3.0の下で公開されています。コントリビューターは最初のプルリクエストでContributor License Agreementに署名する必要があり、行動規範が適用されます。READMEには、SteampipeはTurbot HQ, Inc.によってこのオープンソースソフトウェアから製作された製品であり、商用条件の下で配布されていること、また他者がソフトウェアを再配布することはできるが、Turbotの商標やクラウドサービスを使用することはできないと記載されています。 コミュニティサポートは、READMEからリンクされているSlackチャンネルを通じて利用できます。