Dbt — передать возвращаемое значение макроса dbt в pythonPython

Программы на Python
Гость
Dbt — передать возвращаемое значение макроса dbt в python

Сообщение Гость »


Начиная с версии 1.5, dbt можно вызывать непосредственно из скрипта Python, например:

из dbt.cli.main import dbtRunner, dbtRunnerResult # инициализировать дбт = dbtRunner() # создаем аргументы CLI в виде списка строк cli_args = ["запуск-операция", "get_something_macro"] # запускаем команду разрешение: dbtRunnerResult = dbt.invoke(cli_args) # проверяем результаты для r в res.result: печать(f"{r}") См.: https://docs.getdbt.com/reference/programmatic-invocats

Предположим, у меня есть простой макрос, который возвращает что-то, например:

{% макрос get_current_catalog() %} {{ return(target.catalog) }} {% конечныймакрос %} Как получить возвращаемое значение в Python?

Моя единственная идея пока — использовать print("...") или log("...", info=True) внутри макроса и захватывать стандартный вывод. Но я подумал, что должен быть лучший способ...

Может быть, кто-то из вас знает.

Вернуться в «Python»