EXECUTE DBT PROJECT¶
指定されたdbtコマンドとコマンドラインオプションを使用して、指定された dbtプロジェクトオブジェクト またはSnowflakeワークスペース内のdbtプロジェクトを実行します。
- こちらもご参照ください。
CREATE DBT PROJECT、 ALTER DBT PROJECT、 DESCRIBE DBT PROJECT、 DROP DBT PROJECT、 SHOW DBT PROJECTS
構文¶
指定された名前でdbtプロジェクトオブジェクトを実行します。
バリアント構文¶
指定されたワークスペース名のワークスペースに保存されているdbtプロジェクトを実行します。ワークスペースを所有するユーザーは、このコマンドバリアントを実行するユーザーである必要があります。
必須パラメーター¶
namedbtプロジェクトオブジェクトを実行する場合は、実行するdbtプロジェクトオブジェクトの名前を指定します。
FROM WORKSPACE オプションを使用してdbtプロジェクトを実行する場合は、dbt Projects on Snowflake のワークスペース名を指定します。ワークスペース名は常に、
user$で示されるユーザーの個人データベースのpublicスキーマを参照して指定されます。ワークスペース名は大文字と小文字が区別され、特殊文字を含めることができるため、ワークスペース名を二重引用符で囲むことをお勧めします。
次の例は、ワークスペース名の参照を示しています。
user$.public."My dbt Project Workspace"
オプションのパラメーター¶
ARGS = '[ dbt_command ] [ --dbt_cli_option option_value_1 [ ... ] [ ... ] ]'Specifies the dbt command and supported command-line options to use when the dbt project object executes. This is a literal string that must conform to the syntax and requirements of dbt CLI commands.
If no value is specified, the dbt project object executes with the dbt command and command-line options specified in the dbt project object definition. If you specify dbt CLI options without specifying a dbt command, the dbt
runcommand executes by default.デフォルト: 値なし
DBT_VERSION = 'version_number'Specifies a version for the dbt project object.
Default: When you execute a dbt project object, the system uses the default version you specified when creating the dbt project object. If none was specified, the system uses
1.9.4by default.詳細については、 |sf-dbt|でサポートされているdbt Coreバージョン をご参照ください。
PROJECT_ROOT = 'subdirectory_path'dbtプロジェクトオブジェクトまたはワークスペース内の:file:`dbt_project.yml`ファイルへのサブディレクトリパスを指定します。このパラメーターは、FROMWORKSPACEオプションを使用してdbtプロジェクトを実行する場合にのみサポートされます。
If no value is specified, the dbt project object executes with the
dbt_project.ymlfile in the root directory of the dbt project object.ルートディレクトリまたは PROJECT_ROOT サブディレクトリに
dbt_project.ymlファイルが存在しない場合はエラーが発生します。デフォルト: 値なし
出力¶
列 |
説明 |
|---|---|
|
|
|
Any exception message returned by the dbt project execution. If the dbt project object executes successfully, the string |
|
dbtプロジェクト実行によって返される標準出力。 |
|
dbtプロジェクト実行の出力ファイルを含むアーカイブ出力の URL。これには、dbtが |
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、 最低 1 つ の次の 権限 が必要です。
権限 |
オブジェクト |
|---|---|
USAGE |
dbtプロジェクト |
スキーマ内のオブジェクトを操作するには、親データベースの少なくとも1つの権限と、親スキーマの少なくとも1つの権限が必要です。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
注釈
EXECUTEDBTPROJECT で指定されたdbtコマンドは、プロジェクトの profiles.yml ファイルの outputs ブロックで指定された role の権限で実行します。操作はさらに、EXECUTE DBT PROJECT を呼び出すSnowflakeユーザーに付与された権限のみに制限されます。指定されたユーザーとロールの両方に、warehouse を使用する権限、プロジェクトの profiles.yml ファイルで指定されている database および schema で操作を実行する権限、そしてdbtモデルが指定する他のSnowflakeオブジェクトで操作を実行する権限が必要です。
例¶
ターゲットとモデルが指定されたデフォルトの実行コマンド¶
dbtプロジェクトオブジェクトのルートディレクトリにある dbt_project.yml ファイルの dev プロファイルをターゲットにするdbt run を実行し、プロジェクト DAG から3つのモデルを選択します。明示的に指定され、デフォルトで実行される run コマンドがありません。
ターゲットとモデルが指定された明示的なテストコマンド¶
dbtプロジェクトオブジェクトのルートディレクトリにある dbt_project.yml ファイルの prod プロファイルをターゲットにするdbt test コマンドを実行し、プロジェクト DAG から3つのモデルを選択します。
下流モデルが指定された明示的な実行コマンド¶
dbt_project.yml ファイルの dev プロファイルをターゲットにするdbt run コマンドを実行し、dbt + 表記を使用した simple_customers モデルのすべての下流モデルを選択します。
Execute and test dbt project objects using production tasks¶
dbt run コマンドを6時間間隔で実行する、実稼働dbtターゲットのタスクを作成します。次に、各dbt run タスクが完了後、dbt test コマンドを実行するタスクを作成します。各タスクの EXECUTE DBT PROJECT コマンドは、dbtプロジェクトオブジェクトのルートディレクトリにある dbt_project.yml ファイルの prod プロファイルをターゲットにします。
テストまたは一時的なニーズのために、実行時にプロジェクトの固定バージョンを上書きする¶
my_dbt_project is pinned to 1.9.4. This execution overrides the dbt project object's default 1.9.4 version: