Передача собственного макроса воздушного потока в функцию внутри определенного пользователем макроса - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь использовать встроенный макрос {{ds}} для вычисления двух новых дат на основе некоторой логики. Я создал функцию, которую хотел бы возвращать результаты через определенный пользователем макрос, но всегда сталкивался с ошибкой в ​​пользовательском интерфейсе Airflow, говоря, что «данные времени {{ds}}» не соответствуют формату данных ___ », который сообщает мнешаблон не обработан.

def newDate(db_ds):
    # some logic that includes datetime.strptime(db_ds, "%Y-%m-%d") 
    return new_ds

with DAG(
    dag_id="example",
    schedule_interval='@daily',
    user_defined_macros=dict(
        start_date=newDate('{{ ds }}'),
    ),
) as dag:

    staging_dimensions = BigQueryOperator(
        task_id='do_something',
        sql='/sql/do_something.sql',
        ...
    )

Ошибка: данные времени '{{ds}}' не соответствуют формату "% Y-% m-% d"

...