如何在SlackAPIPostOperator中获得`ds`?

时间:2016-10-10 09:35:24

标签: airflow

我想运行一个需要日期时间参数的python脚本,并将其输出发布到slack。但我不知道如何获得气流模板变量ds

让我们说,我有以下代码:

def make_txt():
    # get ds
    ds = get_ds()
    ds = ds * 3 + 4 / 5   # do something with ds
    return ds

slack_task = SlackAPIPostOperator(
    text=make_txt(),
    token='xoxp-xxxxxxx',
)

因为我将使用airflow backfill dag_id -s 2016-10-01运行,ds(此处为2016-10-01)应该传递给松弛文本。

我尝试将python脚本输出写入文件,然后读取它并直接传递给松弛文本。但我认为这不是一个完美的解决方案。

1 个答案:

答案 0 :(得分:2)

text的{​​{1}}字段是模板化的,因此如果您在文本中的某处添加SlackAPIPostOperator,它将由jinja插入。