我正在尝试使用AirFlow rest API触发我的任务。但是无法理解如何进行身份验证。
以下URL在我的浏览器中工作正常。
http://localhost:8181/api/experimental/dags/demo/dag_runs
但是,以下代码给出了身份验证错误。
import requests
import json
from pprint import pprint
result = requests.get(
"http://localhost:8181/api/experimental/dags/demo/dag_runs",
data=json.dumps("{}"),
auth=("myuser", "mypassword"))
pprint(result.content.decode('utf-8'))
我也发现了这一点,但现在确定如何通过身份验证
https://github.com/apache/airflow/blob/master/airflow/api/client/api_client.py
1.-您应该验证身份验证正在您的UI上进行:
http://localhost:8181/api/experimental/dags/demo/dag_runs
此链接应要求认证。
2.-您可以尝试的请求代码段如下:
request({
url: "http://localhost:8181/api/experimental/dags/demo/dag_runs",
method: "POST",
json: {'conf': '{}'},
auth: {
'user': 'AIRFLOW_USER',
'pass': 'AIRFLOW_PASSWORD',
'sendImmediately': true
}
}).on('response', function(response) {
context.log(response.statusCode)
});
来自https://godatadriven.com/blog/using-the-airflow-experimental-rest-api-to-trigger-a-dag/的代码