实验性 Rest API
译者:@ImPerat0R_
Airflow公开了一个实验性的Rest API。它可以通过Web服务器获得来请求。 API端点以/api/experimental/开头,同时请注意,我们也希望端点定义发生变化。
端点
这是占位符,直到swagger定义处于活动状态
- /api/experimental/dags/
/tasks/ 返回任务信息(GET)。 - /api/experimental/dags/
/dag_runs 为给定的dag id创建一个dag_run(POST)。
CLI
对于某些功能,cli可以使用API。 要配置CLI选项使得在可用时能够使用API,请按如下方式配置:
[cli]
api_client = airflow.api.client.json_client
endpoint_url = http://<WEBSERVER>:<PORT>
认证
API的身份验证与Web身份验证分开处理。 默认情况下,不需要对API进行任何身份验证 - 即默认情况下全开。 如果您的Airflow网络服务器可公开访问,那么不建议这样做,您应该使用拒绝所有后端请求:
[api]
auth_backend = airflow.api.auth.backend.deny_all
API目前支持两种“真实”的身份验证方法。
要启用密码身份验证,请在配置中进行以下设置:
[api]
auth_backend = airflow.contrib.auth.backends.password_auth
它的用法类似于用于Web界面的密码验证。
要启用Kerberos身份验证,请在配置中设置以下内容:
[api]
auth_backend = airflow.api.auth.backend.kerberos_auth
[kerberos]
keytab = <KEYTAB>
Kerberos服务配置为airflow/fully.qualified.domainname@REALM
。确保密钥表文件中存在此配置。