传参方式分析:
使用docker镜像:
puckel/docker-airflow
下载镜像:
启动:
进入docker:
接下来以分析tutorial为例:
分析run按钮:
点击的script代码如下:
这个函数首先组装一个url地址,然后window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
组装格式如下:
可以通过在web调试窗设断点来找出最终组合的字符串如下形式:
这里我们就找到了airflow前端到后台调用的方式(通过url传参),接下来需要找出如何通过url传参到后台响应:
url传参分析:
先贴最终结果,airflow使用的是python的flask框架,定义的文件在如下路径的python文件里,从下图中我们可以看到暴露了/run路径,同样的还有success也是以这种方式暴露的
至于如何找到用什么框架方法,是先通过组装好的url的特征字符串比如“run”,然后使用grep命令进行文件内容查找,锁定到views.py文件,然后查看import的
库找到所使用的框架,之后我们就可以通过学习框架继续深入研究airflow啦!这是我目前使用的分析逻辑,虽然笨了点,希望对大家能有所帮助,以此抛砖引玉,以后学习
更深入了了解的框架更多了,应该能根据经验判断出套用的框架或者调用方式,希望大家有更好的方法能与笔者交流~