Airflow DAG内的逻辑使用执行日期

Airflow DAG内的逻辑使用执行日期,airflow,airflow-scheduler,Airflow,Airflow Scheduler,是否可以在操作员之外的DAG内访问执行日期?我需要使用条件逻辑的执行日期?如果执行日期是当月1号,则我需要使用某些值构建字典,否则如果不是当月1号,则我需要使用其他值构建字典。字典是雪花操作符的一个参数 我在网上阅读指南时突然想到了这个主意 默认参数={ “拥有人”:“, “依靠过去”:错, “开始日期”:日期时间(2020年3月2日), “电子邮件”:[''], “失败时发送电子邮件”:正确, “重试次数”:0 } dag=dag( dag_id=“ETL dag”, 默认参数=默认参数, 附

是否可以在操作员之外的DAG内访问执行日期?我需要使用条件逻辑的执行日期?如果执行日期是当月1号,则我需要使用某些值构建字典,否则如果不是当月1号,则我需要使用其他值构建字典。字典是雪花操作符的一个参数

我在网上阅读指南时突然想到了这个主意

默认参数={
“拥有人”:“,
“依靠过去”:错,
“开始日期”:日期时间(2020年3月2日),
“电子邮件”:[''],
“失败时发送电子邮件”:正确,
“重试次数”:0
}
dag=dag(
dag_id=“ETL dag”,
默认参数=默认参数,
附表_interval=“0 18***”,
catchup=正确,
最大有效运行次数=1
)
对于dag:
ymd='{ds_nodash}}'
#使用ymd确定是否为第一个
...
default_args = {
    "owner": "<my_name>",
    "depends_on_past": False,
    "start_date": datetime(2020, 3, 2),
    "email": ['<my_email>'],
    "email_on_failure": True,   
    "retries": 0
}


dag = DAG(
    dag_id="ETL Dag",
    default_args=default_args,
    schedule_interval="0 18 * * *",
    catchup=True,
    max_active_runs=1
)

with dag:
    ymd = '{{ ds_nodash }}'
    # Use ymd to determine if 1st or not
    ...