气流:使用 execution_date 将一位数字转换为两位数字
Airflow: Convert one digit to two digit with execution_date
我正在尝试将气流日期从一位数转换为两位数。在我使用 {{ execution_date.month }}
的那一刻,我的月份变成 1
但希望它变成 01
.
我试过 {{ execution_date.month.strftime("%m") }}
但出现错误:
int object' has no attribute 'strftime
你可以这样做:
from datetime import datetime
from airflow.models import DAG
from airflow.operators.bash import BashOperator
with DAG(
dag_id="bash_example",
schedule_interval=None,
start_date=datetime(2022, 1, 19),
catchup=False
) as dag4:
BashOperator(task_id="task", bash_command="echo {{ execution_date.strftime('%m') }}")
或
from datetime import datetime
from airflow.decorators import dag
from airflow.operators.bash import BashOperator
@dag(schedule_interval=None, start_date=datetime(2022, 1, 19), catchup=False)
def bash_example():
BashOperator(task_id="task", bash_command="echo {{ execution_date.strftime('%m') }}")
dag = bash_example()
渲染:
日志:
我正在尝试将气流日期从一位数转换为两位数。在我使用 {{ execution_date.month }}
的那一刻,我的月份变成 1
但希望它变成 01
.
我试过 {{ execution_date.month.strftime("%m") }}
但出现错误:
int object' has no attribute 'strftime
你可以这样做:
from datetime import datetime
from airflow.models import DAG
from airflow.operators.bash import BashOperator
with DAG(
dag_id="bash_example",
schedule_interval=None,
start_date=datetime(2022, 1, 19),
catchup=False
) as dag4:
BashOperator(task_id="task", bash_command="echo {{ execution_date.strftime('%m') }}")
或
from datetime import datetime
from airflow.decorators import dag
from airflow.operators.bash import BashOperator
@dag(schedule_interval=None, start_date=datetime(2022, 1, 19), catchup=False)
def bash_example():
BashOperator(task_id="task", bash_command="echo {{ execution_date.strftime('%m') }}")
dag = bash_example()
渲染:
日志: