Airflowを使用してETLタスクの実行とスケジュールを管理しています。 DAGが作成され、正常に動作します。しかし、手動でCLIを介してDAGをトリガーするときにパラメーターを渡すことは可能ですか?.
たとえば、私のDAGは毎日01:30に実行され、昨日のデータを処理します(時間範囲は昨日の01:30から今日の01:30まで)。データソースに問題がある可能性があります。これらのデータを再処理する必要があります(手動で時間範囲を指定します)。
そのため、スケジュールされたときに、デフォルトの時間範囲が昨日の01:30から今日の01:30であるようなエアフローDAGを作成できますか?次に、データソースに問題がある場合は、DAGを手動でトリガーし、時間範囲をパラメーターとして手動で渡す必要があります。
私が知っているようにairflow test
には-tp
があり、タスクにパラメータを渡すことができます。しかし、これは特定のタスクをテストするためだけのものです。 airflow trigger_dag
には-tp
オプションがありません。それでは、tigger_dagを使用してパラメーターをDAGに渡す方法はありますか?オペレーターはこれらのパラメーターを読み取ることができますか?
ありがとう!
これは、エアフローのドキュメントに従って機能します: https://airflow.Apache.org/cli.html#trigger_dag
airflow trigger_dag -c '{"key1":1, "key2":2}' dag_id
-c
の値が有効なjson文字列であることを確認してください。ここでは、キーを囲む二重引用符が必要です。