예제
from airflow import DAG
from airflow.operators.bash import BashOperator
import datetime
import pendulum
with DAG(
dag_id="dags_bash_with_template",
schedule="10 0 * * *",
start_date=pendulum.datetime(2023, 3, 1, tz="Asia/Seoul"),
catchup=False,
) as dag:
bash_t1 = BashOperator(
task_id="bash_t1",
bash_command='echo "End date is {{ data_interval_end }}"',
)
bash_t2 = BashOperator(
task_id="bash_t2",
env={
"START_DATE": "{{ data_interval_start | ds }}",
"END_DATE": "{{ data_interval_end | ds }}",
},
bash_command="echo Start date is $START_DATE && echo End date is $END_DATE",
)
bash_t1 >> bash_t2

- 기본적으로 data_interval 값은 utc 시간을 갖고 있습니다.
- 나온 값에서 9시간을 더해준,
2024-03-24T00:10~ 값이 한국 시간입니다.

- 두번째 태스크에서는 환경변수에 등록한 START_DATE와 END_DATE를 출력하고 있습니다.
- data_interval_end 값을 ds로 변환한 시간이 나오게 됩니다.