🤖
Airflow task instanceへのアクセス
Airflow で task_instance にアクセスしたいときが出てくる。例えば xcom push/pull したいときや、Airflow REST API でパラーメータが渡されたときなど。DAG や Task はコード中に明示的に記述するのでわかりやすいけれども、Task Instance は取り出し方がいまいちはっきりしない。Templatingでjinjaの中からアクセスできる。それ以外で必要な場合となると PythonOperator
, @task
あたりだろうか。
PythonOpetatorのソースコードによると、次の二通り。
-
**kwargs
という形のキーワード引数でキャプチャする -
ti
という名前の引数を定義する
呼び出し側で inspect している。
Discussion