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
> >

Reply via email to