Airflow 2.0.0 REST API接口用法&以及一些坑

1、按照网上的安装教程折腾一圈
转载【airflow 安装插件REST API

server启动总是报错,折腾一天发现,我的版本是airflow2.0.0,自带rest API,不用安装!!!!
上面的是1.X版本的才要装

话说airflow国内的资料还是不太够

2、国内airflow文档过期了,还是看国外的文档吧

中文文档1.0
[中文文档1.0]
英文文档2.0

REST API文档
Trigger Airflow DAGs via the REST API

请注意版本,上述是airflow2版本

3、验证方式Authorization
默认的如下,所有接口都deny了
[api]
auth_backend = airflow.api.auth.backend.deny_all
改为如下验证方式
[api]
auth_backend = airflow.api.auth.backend.basic_auth

认证说明文档
Basic username password authentication is currently supported for the API. This works for users created through LDAP login or within Airflow Metadata DB using password.

支持Airflow数据库内用户名及密码,所以选择这种验证方式

记得重启server和scheduler

4、创建用户名密码

airflow users create --username test --firstname admin --lastname admin --role Admin --email xx1@163.com --password test

记住用户名密码

5、信息加密
Username and password needs to be base64 encoded and send through the Authorization HTTP header in the following format:

Authorization: Basic Base64(username:password)

网上在线Base64编码 用户名:密码 字符串,注意当一个字符串来加密,不要拆开加密再中间用冒号

Base64编码网站

在这里插入图片描述
6、Postman测试连接

使用GET方式,网址http://Airflowip:端口/api/v1/dags,改成你自己的地址和端口,该接口获取所有dags
在这里插入图片描述
接口要求在Head中加入认证信息,所以如图所示设置Head参数

7、发送请求
点击send,发送请求,如果正常会返回JSON格式额dags数据
在这里插入图片描述

8、Authorization报错
报错说明

我是卡在了Unauthenticated这个错误上,后来airflow users create了新的用户,尤其要加上–password明确密码,才算通过了

9、trigger dag

上述是获取dag列表
下面触发运行一个dag,还是用postman
使用API:http://airflow.apache.org/api/v1/dags/{dag_id}/dagRuns
API说明

这个是POST接口,并且需要设置body参数,否则会报400错误,如下所示

随便写了个dag_run_id,运行
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值