【dbt】dbt CLI ~ マクロ実行 / dbt run-operation ~

◾️はじめに

https://dk521123.hatenablog.com/entry/2024/07/21/234811

の続き。

今回は、dbt CLI「dbt run-operation」コマンドをメモる。

目次

【1】dbt run-operation
 1)構文
【2】オプション
 1)--args ARGS
 2)--print / --no-print
 3)-q, --quiet / --no-quiet

【1】dbt run-operation

* マクロを呼び出す。

https://docs.getdbt.com/reference/commands/run-operation

1)構文

$ dbt run-operation {macro} --args '{args}'

# {macro}:マクロ名
# {args}:マクロ引数(詳細は下記「1)--args ARGS」参照)

【2】オプション

* 以下のマクロを使って各オプションを確認していく

macros/demo_macro.sql

{% macro demo_macro(user_id) -%}
  {{ print(user_id) }}
{%- endmacro %}

1)--args ARGS

* マクロ引数

$ dbt run-operation demo_macro --args '{user_id: X001}'
09:09:31  Running with dbt=1.9.4
09:09:31  Registered adapter: postgres=1.9.0
09:09:31  Found 2 models, 4 data tests, 434 macros
X001

2)--print / --no-print

* print() 文の表示・非表示

# Output all {{ print() }} macro calls.
$ dbt run-operation demo_macro --args '{user_id: X001}' --no-print
09:13:01  Running with dbt=1.9.4
09:13:01  Registered adapter: postgres=1.9.0
09:13:01  Found 2 models, 4 data tests, 434 macros

3)-q, --quiet / --no-quiet

* 全てのエラー以外のログをstdoutに抑制するかしないか
* ただし、print() 文の表示は抑制されない

# Suppress all non-error logging to stdout.
# Does not affect {{ print() }} macro calls.
$ dbt run-operation demo_macro --args '{user_id: X001}' --quiet
X001

関連記事

dbt ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2023/06/30/000000
dbt ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2023/12/16/152147
dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/05/30/151003
dbt CLI ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/07/21/234811
dbt CLI ~ --emptyフラグ ~
https://dk521123.hatenablog.com/entry/2024/12/24/224856
dbt Macro ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/11/29/003751
dbt Macro ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2024/10/22/002940
Python with dbt ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/07/20/034930
Python with dbt ~基本編 ~
https://dk521123.hatenablog.com/entry/2025/04/26/234102