You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow中HttpSensor如何设置execution_date执行日期

解法

Airflow 中所有支持 Jinja 模板渲染的算子参数,都可以直接在参数值里通过双大括号引用上下文变量,不需要像 PythonOperator 那样显式从 kwargs 中取值。HttpSensor 的 endpoint 参数本身就被标记为模板字段,运行时会自动完成渲染,直接传入日期变量即可。

基础用法(常用日期格式)

如果你需要传入格式为YYYY-MM-DD的执行日期,直接用 Airflow 内置的ds变量即可,这是官方预定义的格式化好的执行日期字符串:

is_api_available = HttpSensor(
    task_id='is_api_available',
    http_conn_id='data_available',
    endpoint='api/3/action/date={{ ds }}'
)

自定义日期格式

如果需要其他格式的日期,可以直接在模板中调用execution_date对象的strftime方法自定义格式,比如要传入无间隔的YYYYMMDD格式日期:

is_api_available = HttpSensor(
    task_id='is_api_available',
    http_conn_id='data_available',
    endpoint='api/3/action/date={{ execution_date.strftime("%Y%m%d") }}'
)

补充说明

  • 你可以直接在模板中使用所有 Airflow 内置的上下文变量,常用的日期相关变量包括:
    • ds:YYYY-MM-DD格式的执行日期
    • ds_nodash:无分隔符的YYYYMMDD格式执行日期
    • ts:带时区的ISO格式执行时间戳
    • execution_date:完整的 Pendulum 时间对象,支持所有原生 datetime 类的方法调用
  • 所有官方算子的可模板参数都可以在对应类的template_fields属性里查到,常见的比如 BashOperator 的bash_command、SQL 执行类算子的sql参数都支持这种模板写法,不需要额外做参数传递配置。

内容的提问来源于stack exchange,提问作者CompEng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:01:01