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