[小ネタ]dbt Cloudでtargetを切り替える方法

2023.11.08

さがらです。

dbt Cloudでtargetを切り替える方法について、本記事でまとめてみます。

※検証環境はdbt CloudのEnterpriseエディションとなり、2023年11月8日時点の情報となりますので、ご注意ください。

targetについて

dbt Cloudの場合は、「dbtコマンドの実行対象となる環境は開発環境・CI環境・本番環境いずれとなるか」をtargetという変数で定義し、Jinja経由でtargetの値を参照してdbtの各種configや実行されるSQLの制御を切り替える際に使用する変数となります。

dbt Coreの場合は、profiles.ymlでDWHへの認証情報や出力先を定義すると思いますが、その一つ一つの設定がtargetとして扱われます。devciprodのように環境ごとに分けて管理することが多いと思います。

詳しくは下記の公式Docをご覧ください。

dbt CloudのIDE(開発環境)

まず、開発環境となるdbt CloudのIDEでdbtコマンドを実行する際のtargetの変更方法についてです。

右上の歯車マークを押し、Profile settingsを押します。

画面左のSeetingsの項目一覧から、Your profile内のCredentialsを押します。

使用できるdbt projectの一覧が表示されますので、targetを変更したいdbt projectを選択します。

すると対象のdbt projectの設定が開きますので、右下のEditを押した後、Target nameを変更し、右下のSaveを押します。これでdbt CloudのIDEにおけるtargetの変更は完了です!

dbt Cloudのジョブ(CI環境・本番環境)

次に、CI環境や本番環境に該当するdbt Cloudのジョブの設定でのtargetの変更方法についてです。(Environmentからはtargetが設定できないため注意です。)

こちらについては、dbt Cloudでのジョブの設定の一番下にAdvanced settingsという項目があるのでここを開くと、Target nameという項目が出てくるので、これを編集してSaveを押せばOKです。