气流:使用 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()

渲染:

日志: