SimpleHttpOperatorを使用してREST APIを使用して行った呼び出しを自動化しようとしています。
これは私が行うことができ、うまく機能している呼び出しの例です。
curl -u username:password
-H "Content-Type: application/json"
-X POST
-d '{"job_id":10,"date":{"year":"2016","month":"10"}}'
https://MY_INSTANCE_NAME.cloud.databricks.com/api/2.0/jobs/run-now
これを SimpleHttpOperator によって生成されるようにフォーマットすると、次のようになり、うまく機能します。
t2 = SimpleHttpOperator(
task_id=TASK_ID,
http_conn_id=CONN_ID,
method='POST',
endpoint='api/2.0/jobs/run-now',
headers={"Content-Type": "application/json"},
data=json.dumps({"job_id":10, "date": { "year": "2016" , "month": "10" }}),
dag=dag
)
私は今、Airflow によって設定された変数 execution_date にアクセスしようとしています。これは通常、BashOperator または PythonOperator のジンガ テンプレートを使用してアクセスできますが、SimpleHttpOperator ではアクセスできません。
e.g. """echo {{execution_date}}"""
この変数は SimpleHttpOperator では使用できないため、非常に必要です。回避策または SimpleHttpOperator 内でアクセスする方法を知っている場合は、お知らせください。
ありがとう。