- カテゴリ:
システム関数 (システム情報)
SYSTEM$GET_DBT_LOG¶
dbt Projects on Snowflake のために指定された実行のログを返します。
この関数を DBT_PROJECT_EXECUTION_HISTORY 関数と組み合わせて使用し、プログラムでdbtのアーティファクトとログにアクセスします。
構文¶
SYSTEM$GET_DBT_LOG ( '<query_id>' )
引数¶
query_idログが必要な実行のクエリ ID。
戻り値¶
この関数は、dbt.log ファイルの最後の1,000行を返します。完全なログを見るには、アーカイブ ZIP ファイルをダウンロードしてください。
詳細と例については、プログラムでdbtのアーティファクトとログにアクセスする をご参照ください。
アクセス制御の要件¶
この関数には、以下の権限があるワークスペースおよびdbtプロジェクトからの実行のみが含まれます。
ワークスペースに対する OWNERSHIP または USAGE 権限
dbtプロジェクトに対する OWNERSHIP、USAGE または MONITOR 権限
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマに対する 任意の権限を付与されたロールは、そのロールがスキーマを解決できることに注意してください。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
このシステム関数はdbtプロジェクトオブジェクトでのみ動作します。ワークスペースでは利用できません。
CREATEDBTPROJECT または ALTERDBTPROJECT ... ADDVERSION で生成されたクエリ IDs はこのシステム関数ではサポートされていません。
ファイルコンテンツの直接クエリ(例: クエリの例)はサポートされていません。
query_idが NULL またはdbt実行中でない場合は、エラーが発生します。dbtプロジェクトの結果は、最大14日間利用可能です。
実行がタイムアウトした場合、キャンセルされた場合、またはファイルがアップロードされる前に失敗した場合は、ログを使用できない可能性があります。このような場合、実行はdbt履歴で
UNHANDLED ERRORと表示され、これらのエントリにはログが含まれていない可能性があります。ログファイルは実行が完了した後にのみ利用可能になるため、この関数を使用して進行中の実行のログを取得することはできません。
例¶
次の例では、MY_DBT_PROJECT を使用した DBT_PROJECT_EXECUTION_HISTORY の最新のdbtプロジェクト実行を検索し、SYSTEM$GET_DBT_LOG を使用してその実行のdbt実行ログを取得することで、実行中に何が起こったかを確認できます。
--Look up the most recent dbt Project execution
SET latest_query_id = (SELECT query_id
FROM TABLE(INFORMATION_SCHEMA.DBT_PROJECT_EXECUTION_HISTORY())
WHERE OBJECT_NAME = 'MY_DBT_PROJECT'
ORDER BY query_end_time DESC LIMIT 1);
--Get the dbt run logs for the most recent dbt Project execution
SELECT SYSTEM$GET_DBT_LOG($latest_query_id);
============================== 15:14:53.100781 | 46d19186-61b8-4442-8339-53c771083f16 ==============================
[0m15:14:53.100781 [info ] [Dummy-1 ]: Running with dbt=1.9.4
...
[0m15:14:58.198545 [debug] [Dummy-1 ]: Command `cli run` succeeded at 15:14:58.198121 after 5.19 seconds
詳細については、 プログラムでdbtのアーティファクトとログにアクセスする をご参照ください。