- カテゴリ:
システム関数 (システム情報)
SYSTEM$GET_DBT_LOG¶
dbt Projects on Snowflake のために指定された実行のログを返します。
この関数を DBT_PROJECT_EXECUTION_HISTORY 関数と組み合わせて使用し、プログラムでdbtのアーティファクトとログにアクセスします。
構文¶
引数¶
query_idログが必要な実行のクエリ ID。
戻り値¶
この関数は、dbt.log ファイルの最後の1,000行を返します。完全なログを見るには、アーカイブ ZIP ファイルをダウンロードしてください。
詳細と例については、プログラムでdbtのアーティファクトとログにアクセスする をご参照ください。
アクセス制御の要件¶
この関数には、以下の権限があるワークスペースおよびdbtプロジェクトからの実行のみが含まれます。
OWNERSHIP, READ, or WRITE on workspaces
dbtプロジェクトに対する OWNERSHIP、USAGE または MONITOR 権限
スキーマ内のオブジェクトを操作するには、親データベースの少なくとも1つの権限と、親スキーマの少なくとも1つの権限が必要です。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
このシステム関数はdbtプロジェクトオブジェクトでのみ動作します。ワークスペースでは利用できません。
CREATEDBTPROJECT または ALTERDBTPROJECT ... ADDVERSION で生成されたクエリ IDs はこのシステム関数ではサポートされていません。
ファイルコンテンツの直接クエリ(例: Query examples)はサポートされていません。
query_idが NULL またはdbt実行中でない場合は、エラーが発生します。dbtプロジェクトの結果は、最大14日間利用可能です。
実行がタイムアウトした場合、キャンセルされた場合、またはファイルがアップロードされる前に失敗した場合は、ログを使用できない可能性があります。このような場合、実行はdbt履歴で
UNHANDLED ERRORと表示され、これらのエントリにはログが含まれていない可能性があります。ログファイルは実行が完了した後にのみ利用可能になるため、この関数を使用して進行中の実行のログを取得することはできません。
例¶
次の例では、MY_DBT_PROJECT を使用した DBT_PROJECT_EXECUTION_HISTORY の最新のdbtプロジェクト実行を検索し、SYSTEM$GET_DBT_LOG を使用してその実行のdbt実行ログを取得することで、実行中に何が起こったかを確認できます。
詳細については、 プログラムでdbtのアーティファクトとログにアクセスする をご参照ください。