← コースに戻る
未ログインのため、この講座の進捗は記録されません。ログインすると記録が残るようになります。
profiles.ymlとtarget(環境切り替え)
dbtはprofiles.yml(通常~/.dbt/profiles.ymlに置く)で、ウェアハウスへの接続情報を管理する。1つのプロファイルの中に、dev(開発)・prod(本番)のような複数のtarget(ターゲット)を定義でき、実行時にどのtargetを使うか切り替えられる。
dbt run # デフォルトのtarget(通常dev)で実行
dbt run --target prod # prodターゲットで実行
Jinjaの中ではtarget変数で現在のターゲット情報を参照でき、環境によってモデルの挙動を変えることができる。
{{ config(
materialized = 'table' if target.name == 'prod' else 'view'
) }}
select * from {{ source('raw', 'orders') }}
接続情報をコードに直接書かず、profiles.ymlを認証情報と分離してプロジェクトの外に置くことで、パスワードなどの機密情報がバージョン管理に含まれないようにするのが基本的な運用。