1
私はdatetime paramを必要とするPythonスクリプトを実行し、その出力を余裕を持って残したいと思っています。しかし、気流テンプレート変数ds
を取得する方法がわかりません。SlackAPIPostOperatorで `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月1日である)テキストをたるみに渡す必要があります。
私は、ファイルにpythonスクリプトの出力を書き込んだ後、それを読んで、直接テキストをスラックに渡そうとします。しかし、私はそれが完璧な解決策だとは思わない。
あなたの答えをありがとう。しかし、私はいくつかのpython演算子のための{{ds}}を望んでいます、それはいくつかの関数に渡すことがあります。私はこの質問には答えがないと思う。 – MoreFreeze
PythonOperator内で 'provide_context = True'を指定し、あなたが呼び出した関数に' ** kwargs'を追加して、 'kwargs ['ds']'を使ってアクセスすることができます。 DAG定義自体の中で 'ds'にアクセスしようとしている場合、それは実際には不可能であることに注意してください。 – Nik
それは正しいです。お返事をありがとうございます。 – MoreFreeze