Я пытаюсь использовать встроенный макрос {{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"