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) внутри макроса и захватывать стандартный вывод. Но я подумал, что должен быть лучший способ...

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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