apisix插件开发(lua版)

1. 编写插件logstash.lua

位置:/usr/local/apisix/apisix/plugins/logstash.lua

复制代码
local core = require("apisix.core")

 

local plugin_name = "logstash"

 

local schema = {

    type = "object",

    properties = {

        content = {

            type = "string"

        }

    }

}

 

local _M = {

    version = 0.2,

    priority = 5001,

    name = plugin_name,

    schema = schema,

}

 

function _M.access(conf, ctx)

    core.log.warn(conf.content)

end

 

return _M
复制代码

2. 添加到插件列表

位置: /usr/local/apisix/conf/config-default.yaml

plugins:                          # plugin list (sorted by priority)
  - logstash                       # priority: 5001

3.重启apisix或者热加载插件

重启命令

1
docker restart apisix-apisix-1

热加载插件

1
curl http://127.0.0.1:9080/apisix/admin/plugins/reload -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT

注意:插件编写有问题,插件不会添加

4.更新apisix-dashboard的插件列表

1
2
3
4
5
6
7
# apisix容器内部执行
curl 127.0.0.1:9092/v1/schema > schema.json
# 宿主机执行
docker cp apisix-apisix-1:/usr/local/apisix/schema.json schema.json
docker cp apisix-apisix-dashboard-1:/usr/local/apisix/schema.json schema.json.bak
docker cp schema.json apisix-apisix-dashboard-1:/usr/local/apisix-dashboard/conf/schema.json
docker restart apisix-apisix-dashboard-1

5.检查页面插件列表

 

posted @   NAVYSUMMER  阅读(1987)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
历史上的今天:
2018-02-27 Django REST Framework 最佳实践
交流群 编程书籍
点击右上角即可分享
微信分享提示