热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

airflow2.0.0RESTAPI接口用法&以及一些坑

1、按照网上的安装教程折腾一圈转载【airflow安装插件RESTAPI】server启动总是报错,折腾一天发现,我的版本是airflow2.0.0,自带restAPI,不用安装!



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

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

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

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

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明确密码,才算通过了



推荐阅读
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 我创建了一个新的AWSSSO(使用内部IDP作为身份源,因此不使用ActiveDirectory)。我能够登录AWSCLI、AWSGUI,但 ... [详细]
  • MySQL binlog与增量备份的基本原理总结
    定义binlog是记录所有数据库表结构变更(例如CREATE、ALTERTABLE…)以及表数据修改(INSERT、UPDATE即使up ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • oracle恢复失败,RMAN数据库恢复失败解决一例
    问题:这是一个从RAC环境的数据库的RAMN备份恢复到一个单机数据库的操作。当恢复数据文件和恢复正常,但在open数据库时出报下面的错误。--rman备 ... [详细]
  • 从C#Byte数组加载图像,并使用AngularJS将图像放在html标记中我正在使用ByteArrayforms的Image,因为我正在使用以下C#方法转换字节数组publicH ... [详细]
  • 快递100企业版物流快递接口使用流程
    varis_mobinavigator.userAgent.toLowerCase().match((ipod|iphone|android|coolpad|mmp|smartph ... [详细]
author-avatar
手机用户2602922857
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有