Snowflake CLI を使用した dbt Projects on Snowflake の管理¶
注釈
Snowflake CLI の dbt Projects on Snowflake 機能はバージョン3.13.0以降でのみ使用可能です。
Snowflake CLI を使用して、次の操作でdbtプロジェクトを管理できます。
dbtプロジェクトオブジェクトのデプロイ¶
snow dbt deploy コマンドは、仮ステージにローカルファイルをアップロードし、新しいdbtプロジェクトオブジェクトを作成し、新しいバージョンを作成して更新するか、完全に再作成します。有効なdbtプロジェクトには、2つのファイルが含まれている必要があります。
dbt_project.yml:使用するプロファイルを指定する標準のdbt構成ファイル。profiles.yml:dbt_project.ymlで参照されるdbt接続プロファイル定義。profiles.yamlは、データベース、ロール、スキーマ、およびタイプを定義する必要があります。デフォルトでは、 dbt Projects on Snowflake は、dbt環境またはプロファイルから指定されたターゲットスキーマ(
target.schema)を使用します。dbt Coreの動作とは異なり、profiles.ymlファイルで指定されたターゲットスキーマは、正常にコンパイルまたは実行するためには、dbtプロジェクトを作成する前に存在している必要があります。
次の例は、 snow dbt deploy コマンドの使用方法を説明しています。
:codenowrap:`jaffle_shop`という名前のdbtプロジェクトオブジェクトをデプロイします。
指定されたディレクトリから
jaffle_shopという名前のプロジェクトをデプロイし、dbtプロジェクトオブジェクトがすでに存在するかどうかに応じて、新しいバージョンを作成するか追加します。Deploy a project named
jaffle_shopfrom a specified directory using a custom profiles directory, a specific dbt version, and enabling external access integrations:Deploy a project named
jaffle_shopand set a specific version for the dbt project object:
使用可能なすべてのdbtプロジェクトオブジェクトのリスト¶
snow dbt list コマンドは、Snowflake上で利用可能なすべてのdbtプロジェクトオブジェクトをリストします。
次の例は、 snow dbt list コマンドの使用方法を説明しています。
dbtプロジェクトオブジェクトコマンドの実行¶
snow dbt execute コマンドは、Snowflake dbtプロジェクトオブジェクト上で次のいずれかの dbtコマンド を実行します。
dbtコマンドの使用の詳細については、dbtコマンドリファレンス をご参照ください。
次の例は、 snow dbt execute コマンドの使用方法を説明しています。
dbt
testコマンドを実行します。rundbtコマンドを非同期で実行します。Execute the
rundbt command with a specific dbt version:
dbtプロジェクトオブジェクトの記述¶
snow dbt describe コマンドは、Snowflake上のdbtプロジェクトオブジェクトを記述します。
次の例では、Snowflakeの my_dbt_project という名前のdbtプロジェクトオブジェクトについて説明します。
dbtプロジェクトオブジェクトのドロップ¶
The snow dbt drop command deletes a dbt project object on Snowflake.
次の例では、Snowflakeの my_dbt_project という名前のdbtプロジェクトオブジェクトを削除します。
CI/CD ワークフローの snow dbt コマンドの使用¶
注釈
CI/CD ワークフローの構築中に必要なのは、Githubなどのgitサーバーや Snowflake CLI だけです。Gitリポジトリオブジェクトは必要ありません。
CI/CD パイプラインを構築するためには、Snowflake CLI でdbtコマンドを実行できます。これらのパイプラインは通常、新しいプルリクエストなどの新しいコードをテストしたり、何かがメインブランチにマージされるたびに実稼働アプリケーションを更新したりするために使用されます。
snow dbt コマンドを使用して CI/CD ワークフローを構築するには、次のステップに従います。
dbtプロジェクトを準備します。
dbtプロジェクトをダウンロードするか、新しいプロジェクトを開始してください。
メインプロジェクトディレクトリに
dbt_project.ymlファイルおよびprofiles.ymlファイルが含まれていることを確認します。dbt_project.ymlで参照されているプロファイル名がprofiles.ymlで定義されていることを確認します。注釈
Snowflakeのdbtプロジェクトオブジェクトはパスワードを必要としないため、
profiles.ymlにパスワードが含まれている場合は、それが削除されるまでデプロイが停止します。
Snowflake CLI GitHub アクションを設定します。
Snowflake CLI の GitHub アクションの設定 および Snowflakeとの接続の確認 に関するガイドラインに従います。
ワークフローを定義します。
組織のニーズに基づいて、ワークフローが実行する必要のあるコマンドを決定します。次の例は、新しいファイルを使用して
product_pipelineという名前のdbtプロジェクトオブジェクトのバージョンを更新し、変換を実行し、最後にテストを実行する CI ワークフローについて説明しています。