Код: Выделить всё
from dbt.cli.main import dbtRunner, dbtRunnerResult
# initialize
dbt = dbtRunner()
# create CLI args as a list of strings
cli_args = ["run-operation", "get_something_macro"]
# run the command
res: dbtRunnerResult = dbt.invoke(cli_args)
# inspect the results
for r in res.result:
print(f"{r}")
https://docs.getdbt.com/reference/programmatic-invocats
Допустим, у меня есть простой макрос который возвращает что-то, например:
Код: Выделить всё
{% macro get_current_catalog() %}
{{ return(target.catalog) }}
{% endmacro %}
Моя единственная идея — использовать print("...") или log("...", info=True) внутри макроса и захватите стандартный вывод. Но я подумал, что должен быть лучший способ...
Может быть, кто-то из вас знает.
Подробнее здесь: https://stackoverflow.com/questions/771 ... -to-python