我正在使用Airflow。 我不想导入实验性API的任何功能。因此,我遵循了instructions并编辑了airflow.cfg配置文件。
[api]
# How to authenticate users of the API
auth_backend = airflow.api.auth.backend.deny_all
但是当启动气流Web服务器时出现以下错误。
Cannot import airflow.api.auth.backend.deny_all for API authentication due to: No module named 'airflow.api.auth.backend.deny_all'
帮帮我。 我的气流版本是v1.8.0
答案 0 :(得分:2)
模块airflow.api.auth.backend.deny_all在v1-10上。在airflow v1.8中,尚未开发此模块 https://media.readthedocs.org/pdf/airflow-fork-k1/v1-8-stable/airflow-fork-k1.pdf
答案 1 :(得分:0)
由于clang
后端仅从v1.10开始可用,因此您有两个选择:
-Wall -Wextra -pedantic
后端从v1.10移植到v1.8 在您的项目中创建一个新文件,例如deny_all
,然后将deny_all.py的内容复制粘贴到其中:
deny_all
然后将Airflow配置为通过deny_all_auth_backend.py
使用此后端:
from functools import wraps
from flask import Response
client_auth = None
def init_app(app):
pass
def requires_authentication(function):
@wraps(function)
def decorated(*args, **kwargs):
return Response("Forbidden", 403)
return decorated