2025年10月9日:Snowflakeでのdbtプロジェクト:最近の改善点(プレビュー

dbt Projects on Snowflake で以下の機能がサポートされるようになりました。

dbtプロジェクトの失敗が失敗したクエリとして表示されるようになりました

コンパイルやテストの失敗など、dbtプロジェクトのエラーはすべてクエリの失敗として表示されるようになりました。これにより、タスクやその他のオーケストレーションツールでエラーを処理しやすくなります。詳細なログは、 SELECT SYSTEM$get_dbt_log('<query_id>') を使用して表示できます。

重要

以前の方法で戻り値をチェックしてdbtプロジェクトの実行結果を判断していた場合、この変更は動作に影響を及ぼす変更となる可能性があります。

作成時にコンパイルする

dbtプロジェクトオブジェクトをデプロイまたは更新するたびに自動的にコンパイルされるため、ビルドアーティファクトは最新状態になり、 Snowsight はスムーズに動作します。

コンパイル中に失敗するプロジェクトをデプロイしている場合、この変更は動作に影響を及ぼす変更となる可能性があります。

現在、コンパイルではデフォルトで profiles.yml 内のプロファイルが使用されます。回避策として、デプロイ前に profiles.yml を本番環境のターゲットを指すように更新してからデプロイすることができます。将来のリリースでは、プロジェクトオブジェクトの DEFAULT_TARGET でこれをオーバーライドできるようになります。

コンパイル時に依存関係をインストールする

デプロイまたは更新コマンドで EXTERNAL_ACCESS_INTEGRATIONS=[...ext] を設定することで、デプロイ中にオプションで dbt deps を実行し、プロジェクトの依存関係をインストールできます。つまり、外部依存関係を持つプロジェクトをデプロイするときに /dbt_packages を含める必要がなくなります。

将来のリリースでは、作成時のコンパイルで local: 構文がサポートされる予定です。

MONITOR 権限

dbtプロジェクトで MONITOR 権限がサポートされるようになりました。これにより、実行履歴の表示、dbtプロジェクトオブジェクトのビルドアーティファクトのダウンロード、各dbtプロジェクト実行のビルドアーティファクトのダウンロードが可能になります。この権限は DATABASE または SCHEMA レベルで付与できます。

実行結果へのアクセスがより簡単に

ビルドアーティファクトは Query History ページから直接ダウンロードするか、次の新しいシステム関数を使用できます。

  • SELECT SYSTEM$LOCATE_DBT_ARTIFACTS($latest_query_id):実行からのdbtプロジェクトアーティファクトのファイルパスを返します(例: snow://dbt/DB_TEST.PUBLIC.DBT_PROJECT_TEST/results/query_id_01bf3f5a-010b-4d87-0000-53493abb7cce/ )。

  • SELECT SYSTEM$LOCATE_DBT_ARCHIVE($latest_query_id):dbtプロジェクト出力アーカイブzipの場所を返します。

  • SELECT SYSTEM$GET_DBT_LOG($latest_query_id)dbt.log ファイルの最後の1000行を返します。完全なログを見るには、アーカイブzipをダウンロードしてください。

結果ステージからこれらのアーティファクトをダウンロードするには、Snowflake CLI を使用します。例:

snowsql -q “GET 'snow://dbt_project/DB_TEST.PUBLIC.DBT_PROJECT_TEST/results/query_id_01bf3f89-0300-0001-0000-0000000c1229/dbt_artifacts.zip' file:///Users/user_name/Code/temp"
Copy

この新しいアプローチは、 OUTPUT_ARCHIVE_URL に代わるもので、Snowflake CLI や他のサービスとの相互運用性を向上させます。

重要

このリリースより前の実行からのdbtプロジェクト出力ログは、 Query History ページに表示されません。

詳細については、 Snowflakeでのdbtプロジェクト をご参照ください。