使用插件
FaasJS 中插件分两类,一类是云函数插件,须在创建云函数时注入才能正常使用,另外一类是非云函数插件,使用方法同普通的 npm 库。
创建插件实例
使用默认配置
# faas.yaml
defaults:
plugins:
fake_plugin:
config:
key: value
// demo.func.ts
import { Func } from '@faasjs/func';
import { Plugin } from 'fakePlugin';
const plugin = new Plugin();
export default new Func({
plugins: [plugin],
handler(){}
});
使用指定配置
# faas.yaml
defaults:
plugins:
special:
config:
key: value
// demo.func.ts
import { Func } from '@faasjs/func';
import { Plugin } from 'fakePlugin';
const plugin = new Plugin({
name: 'special'
});
export default new Func({
plugins: [plugin],
handler(){}
});
自定义配置
// demo.func.ts
import { Func } from '@faasjs/func';
import { Plugin } from 'fakePlugin';
const plugin = new Plugin({
config: {
key: 'value'
}
});
export default new Func({
plugins: [plugin],
handler(){}
});
自定义配置也可以跟指定配置混合使用,覆盖指定配置中部分配置项。
配置的优先级
插件的配置可以在引用插件时在代码中直接配置,也可以在 faas.yaml 中配置。
配置的优先级为:云函数代码中的配置 > 云函数文件所在文件夹的 faas.yaml
> 父文件夹的 faas.yaml
> 更浅层级文件夹中的 faas.yaml
。
最佳实践
对于共用和常用的配置,建议都配置在 faas.yaml
中。
仅某个云函数用到的特殊配置,可以直接在云函数的代码中配置。