2

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 内でアクセスする方法を知っている場合は、お知らせください。

ありがとう。

4

1 に答える 1