Serverless功能 - 玩转Kong插件
2019-04-19 22:42
701 查看
原文链接:https://my.oschina.net/u/1404949/blog/3039541
在访问阶段动态运行Lua代码。
启动Serverless Functions
1、在服务上启用插件
$ curl -X POST http://kong:8001/services/{service}/plugins \ --data "name=serverless-functions" \ --data "config.functions=[]"
2、同理,也可以在路由、API上启动。
3、备注:
config.functions: 要在访问阶段按顺序缓存和运行Lua代码数组。
插件名称
无服务器函数作为两个独立的插件出现。每一个都在插件链中以不同的优先级运行。
-
pre-function
: 在访问阶段运行其他插件之前运行。 -
post-function
: 在访问阶段在其他插件之后运行。
示例
1、在Kong创建一个服务:
$ curl -i -X POST http://localhost:8001/services/ \ --data "name=plugin-testing" \ --data "url=http://httpbin.org/headers"
2、向服务添加一个路由:
$ curl -i -X POST http://localhost:8001/services/plugin-testing/routes \ --data "paths[]=/test"
3、创建一个名为`custom-auth.lua``的文件,内容如下:
-- 获取请求头部列表 local custom_auth = kong.request.get_header("x-custom-auth") -- 如果我们没有自定义头部 if not custom_auth then return kong.response.exit(401\, "Invalid Credentials") end -- 从请求中删除自定义身份验证头部 kong.service.request.clear_header('x-custom-auth')
4、应用我们的Lua代码使用
pre-function插件使用cURL文件上传:
$ curl -i -X POST http://localhost:8001/services/plugin-testing/plugins \ -F "name=pre-function" \ -F "config.functions=@custom-auth.lua"
5、测试我们的lua代码会在没有报头时终止请求:
curl -i -X GET http://localhost:8000/test HTTP/1.1 401 Unauthorized ... "Invalid Credentials"
转载于:https://my.oschina.net/u/1404949/blog/3039541
相关文章推荐
- 零基础玩转 Serverless
- 开通微信小程序插件,如何开通小程序插件功能——玩转小程序118
- 零基础玩转Serverless
- SQL Server Management Object(SMO)大大简化数据库工具的开发 几行代码开发功能强大的SQL工具
- 经典vim插件功能说明、安装方法和使用方法介绍
- ArcGIS.Server.9.3和ArcGIS API for Flex实现Query查询定位中心功能(七)
- CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
- Intellij IDEA 插件的安装(live edit为例,实现HTML自动换行缩进/保存/刷新等功能)
- selenium部分功能(上传文件、swf插件)无法自动化时可使用的方法
- 在IE11下设置SharePoint Server 2013却遇到“需要 Internet Explorer 才能使用此功能。”的解决办法
- gulp介绍及less插件详解
- Eclipse 插件功能研究
- 带有分页排序功能的表格插件的使用(通过ajax获取后台数据)
- jquery插件开发之实现google+圈子选择功能
- Eclipse 插件开发 - 实现外部程序修改文件后刷新功能
- 终于扩展出一个强大灵活的任意汇总功能插件
- Win Server 2008:Server Core功能解析
- canalserver1.0.22基于mariadb10.1.14的HA功能bug
- jQuery实现换肤功能(使用cookie.js插件)
- Sublime Text 3最好的功能、插件和设置