跳到主要内容
版本:3.19.0

插件元数据

本文档将介绍 APISIX 中插件元数据的基本概念以及为什么需要它们。

在文档末尾探索其他资源,以获取有关相关主题的更多信息。

概述​

在 APISIX 中,插件元数据(Plugin Metadata)对象用于配置同一个插件所有实例的共享设置。对于日志格式模板等通常应在插件的所有启用位置保持一致的值,插件元数据十分有用。

APISIX 会按插件名称分别存储一个插件元数据对象。只有定义了元数据 Schema 的插件才支持插件元数据,具体字段和行为取决于插件本身。配置插件元数据前,请查看该插件在插件中心中的文档。

下图说明了插件元数据的概念,使用两个不同路由上的两个 syslog 插件实例,以及一个设置全局 log_format 的插件元数据对象:


带有两个路由和一个插件元数据的插件元数据图解

图中的插件元数据对象为两个 syslog 插件实例定义了共享的 log_format。/delivery 路由上的实例未定义自己的 log_format,因此使用元数据中的值。/order 路由上的实例定义了不同的 log_format,因此 syslog 会为访问该路由的请求使用实例级的值。

对于支持共享 log_format 元数据的日志插件,实例级 log_format 优先于元数据中的值。syslog、http-logger、kafka-logger 和 file-logger 等插件具有这一行为。

插件元数据不会按照通用优先级规则与每一个插件配置合并。每个插件自行决定其实例如何使用元数据,以及实例级字段是否覆盖元数据字段。

其他资源​