1

我想运行一个需要 datetime 参数的 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 脚本输出写入文件,然后读取它并直接传递给松弛文本。但我不认为这是一个完美的解决方案。

4

1 回答 1

2

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

于 2016-11-29T20:18:18.843 回答