gpt4 book ai didi

Airflow - 实验性 API 为某些端点返回 405

转载 作者:行者123 更新时间:2023-12-04 17:40:17 27 4
gpt4 key购买 nike

我正在尝试设置我的应用程序以使用 Airflow 的实验性 API。我正在使用 apache-airflow==1.10.2 .

使用开箱即用的配置(未启用身份验证),我能够使用 POST /api/experimental/dags/<DAG_ID>/dag_runs 创建 DAG 运行端点。但是,当我尝试使用 GET /api/experimental/dags/<DAG_ID>/dag_runs我收到 405。

当我注意到 GET 端点是 www_rbac 的一部分时,我尝试启用身份验证文件夹,但不是 www 的一部分文件。为了验证我是否能够成功设置身份验证,我为 api 和网络服务器配置了它。

[api]
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth

对于网络服务器:

[webserver]
# additional config omitted for brevity
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth

我使用 airflow cli 创建了一个用户。然后,我能够使用这些凭据登录网络服务器。问题是当我尝试在 API 上使用相同的凭据进行身份验证时,我仍然收到 405。

我正在使用的示例 curl 是:

curl -X GET \
http://api_admin:password666@fakeHostName.com/api/experimental/dags/example_bash_operator/dag_runs \
-H 'Cache-Control: no-cache'

(真正的 curl 有实际的用户名、密码和主机名。)

响应正文是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>

工作的 POST 请求的 curl :

curl -X POST \
http://api_admin:password666@fakeHostName.com/api/experimental/dags/example_bash_operator/dag_runs \
-H 'Cache-Control: no-cache' \
-d '{}'

好消息是,当我启用身份验证并从请求中省略用户名和密码时,我得到 401 - 未经授权。

有没有人能够使用 GET dag_run 端点工作?

最佳答案

这是 1.10.2 中的错误,已在本周发布的 1.10.3 中修复。

到那时你就可以使用 rbac UI 了:

通过修改 airflow.cfg 文件启用 RBAC UI。

[webserver] 部分下,将 rbac = False 更改为 rbac = True

请注意,您必须根据 https://airflow.apache.org/security.html?highlight=rbac#password 创建一个用户

关于Airflow - 实验性 API 为某些端点返回 405,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54834097/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com