我正在尝试使用带有 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
)
我现在正在尝试访问 execution_date,这是一个由 Airflow 设置的变量,它让操作员知道它应该被调用的时间。这通常可以使用 BashOperator 或 PythonOperator 的 jinga 模板访问,但不能使用 SimpleHttpOperator:
e.g. """echo {{execution_date}}"""
这个变量对 SimpleHttpOperator 不可用,它是非常需要的。如果您知道任何解决方法或在 SimpleHttpOperator 中访问它的方法,请告诉我。
谢谢。