Good idea, it's important. *ZhengSong Tu* My GitHub: https://github.com/tzssangglass Apache APISIX: https://github.com/apache/apisix
JunXu Chen <chenju...@apache.org> 于2021年12月31日周五 21:07写道: > > Thanks for your awesome proposal. > > I think the doc could start from how to deploy the development environment, > how to run the example plug-in, how to debug, and then introduce how to > call APISIX.core, and link up the whole process. > > > On Fri, 31 Dec 2021 at 18:29, tzssangglass <tzssanggl...@apache.org> wrote: > > > Hi, community, recently, there has been a growing call from the > > community for a detailed tutorial on plugin development[1]. > > > > Many users of APISIX do not know what the correct way when writing > > their own plugins. > > > > Now that APISIX has accumulated quite a stable collection of functions > > in its core module, I would like to show how to use these functions > > through documentation. > > > > Here is an example: > > > > -------------------------------------- > > > > ### core.id.get > > > > **syntax:** apisix_id = core.id.get() > > > > **context:** init, rewrite, access, body_filter, header_filter, log > > > > **code example:** > > > > ```lua > > local core = require "apisix.core" > > > > function _M.access(conf, ctx) > > local apisix_id = core.id.get() > > ngx.log(ngx.WARN, "apisix_id: ", apisix_id) > > end > > > > ``` > > > > **description:** > > > > During the init phase of APISIX, the instance ID will be generated in > > the following order: > > > > 1. read the instance id from `conf/apisix.uid`, use if present; > > 2. read the instance id from `conf/config.yml`, use if present, > > configure example: > > > > ``` > > apisix: > > id: "your-meaningful-id" > > ``` > > > > 3. generate a uuid as the instance id. > > > > If you want to specify a meaningful id to bind Apache APISIX instance > > to your internal system, you can refer to step 2. > > > > -------------------------------------- > > > > > > I hope to achieve the following three objectives with this document > > > > 1. to organize the functions of the core module > > 2. show more APISIX logic and usage tips in the relevant function > > descriptions > > 3. become a plugin development manual > > > > This will be an ongoing process and I'm happy to get started on it. I > > look forward to having more community members join in, it's a great > > way to learn about APISIX. > > > > link: > > [1]: https://github.com/apache/apisix/discussions/5421 > > > > *ZhengSong Tu* > > My GitHub: https://github.com/tzssangglass > > Apache APISIX: https://github.com/apache/apisix > >