私はAPIドキュメントを読んでいましたが、のコンテキストの引数がBaseOperator.xcom_pullのものは不明です。BaseOperator.xcom_pullのコンテキスト引数は何ですか
それはdag.default_argsだろうと思ったが、私はプッシュ()例hereを以下の先行タスク内xcom_pushを行うKeyError: 'ti'
を受け取ります。
私はAPIドキュメントを読んでいましたが、のコンテキストの引数がBaseOperator.xcom_pullのものは不明です。BaseOperator.xcom_pullのコンテキスト引数は何ですか
それはdag.default_argsだろうと思ったが、私はプッシュ()例hereを以下の先行タスク内xcom_pushを行うKeyError: 'ti'
を受け取ります。
コンテキスト(タスクインスタンスti
自体を含む)等dag
、dag_run
、run_id
、execution_date
、としてタスクインスタンスに関連した参照オブジェクトを含むキーワード引数の集合です。
タスクインスタンスの実行時にデフォルトコンテキストが生成され、hereと定義されています。
あなたが言及した例では、コンテキストが渡される方法は非常に明白ではありません。provide_context
argがTrueに設定されている場合、Airflowは生成されたコンテキストをpython呼び出し可能に渡します。 kwargs['ti'].xcom_pull()
を呼び出して、タスクインスタンスのxcom_pullメソッドにアクセスできます。
これが機能するには、**kwargs
をPython呼び出し可能ヘッダに定義し、演算子のprovide_context
をTrue
に設定する必要があります。
コンテキストの参照を直接取得する方法はわかりません。