Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみた[2025年10月ver]

Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させてみた[2025年10月ver]

2025.10.16

さがらです。

約1年前に、Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させるブログを書いていました。

https://dev.classmethod.jp/articles/omni-dbt-integration-setup/

今回改めて試してみたところ、少し手順が追加される形となっていたため、本記事で改めて手順をまとめてみます。

参考ドキュメント

以下の公式ドキュメントの内容に沿って行っていきます。

https://docs.omni.co/docs/integrations/dbt

事前準備:Connectionの作成

今回DWHはSnowflakeを利用しますが、こちらのConnectionは、下図の通り作成済みとします。

2025-10-16_10h13_44

dbtの連携設定

dbtと連携をしたいConnectionの設定画面で、dbtタブを押します。

すると、下図のような画面が出てくるので、各種情報を入力し、右下のSaveを押します。

  • Git SSH URL:連携対象のGitHubのリポジトリのSSHのURL
  • Git Branchmainなど、本番用として利用しているブランチ名を指定

dbt Versionとチェックボックスは、今回の検証範囲とは関係ないためデフォルト値で進めます。

2025-10-16_10h25_56

すると Public Keyが生成されるため、こちらをコピーして対象のリポジトリのDeploy keysに新しいDeploy keyを追加して貼り付けます。Allow write accessも忘れずにチェックして、Add keyを押します。

2025-10-16_10h29_37

nip5mp9nfzjplzcjgj7c

Deploy keyの追加後、Omniの画面に戻りTest Connectionを押します。押した結果下図のように表示されて問題なければ、Saveを押します。

2025-10-16_10h47_34

Environmentsの追加

※ここからが1年前の記事と異なる新しい手順となります。

同じConnectionのdbtタブの一番下に、Environmentsという項目があります。右上にあるAdd Environmentを押します。

2025-10-16_11h11_27

ここでは、dbt Coreでいうprofiles.yml、dbt CloudでいうEnvironmentと同等の設定を行っていきます。Omni上で明示的に、「dbtの開発環境」、「dbtの本番環境」、それぞれどのスキーマを示すのかを明示的にする概念が「OmniのEnvironment」となります。

今回は取り急ぎ、本番環境に該当するProductionのEnvironmentだけ設定してみます。利用しているdbt Coreのprofiles.ymlやdbt CloudのEnvironmentを参考にし、下図のように設定します。入力を終えたら、右下のSaveを押します。

2025-10-16_11h15_44

すると、下図のような画面となりますので、一定時間待ちます。(私の場合は20秒ほどかかりました。)

2025-10-16_11h16_48

一定時間経過後、下図のように表示されます。以下のスキーマの各テーブルにおいて、スキーマ情報が更新されたということを表しています。

2025-10-16_11h18_13

この後でOmniのModel編集画面を見ると、下図のようにPRODスキーマ内のオブジェクトに対してdbtで設定したdescriptionやSQL文が反映されていました!

2025-10-16_11h23_05

2025-10-16_11h55_42

最後に

Omniとdbtリポジトリを連携してdbt上のdescriptionをOmniに反映させる方法について、2025年10月の最新版の方法を試してみました。

1年前と違ってEnvironmentの概念がOmniにも追加されているため、dbtのブランチを切り替えたときのDynamic Schemaの機能なども近いうちに試してみたくなりました!

この記事をシェアする

FacebookHatena blogX

関連記事