serverless-global
v0.0.5
Published
在使用Serverless Framework Components的时候,会遇到配置一些全局变量,例如我有多个函数,需要配置数据库等信息,但是在Serverless Framework Components中貌似并不能支持全局变量,所以做了这个非常简单的组件来实现。
Downloads
2
Readme
Components全局变量配置
在使用Serverless Framework Components的时候,会遇到配置一些全局变量,例如我有多个函数,需要配置数据库等信息,但是在Serverless Framework Components中貌似并不能支持全局变量,所以做了这个非常简单的组件来实现。
使用防范很简单,在Yaml中增加全局配置的字段:
Conf:
component: "serverless-global"
inputs:
mysql_host: gz-cdb-mytest.sql.tencentcdb.com
mysql_user: mytest
mysql_password: mytest
mysql_port: 62580
mysql_db: mytest
mini_program_app_id: mytest
mini_program_app_secret: mytest
tst: ${file(./serverless_1.yaml)}
然后在项目部署的时候可以直接放到对应的组件内,例如:${Conf.mysql_host}
如果需要引用其他yaml,可以使用上面的tst: ${file(./serverless_1.yaml)}
写法,其他程序引用只需要:
mysql_host: ${Conf.tst.mysql_hosta}
即可。此处路径支持绝对路径和相对路径
整体Yaml可以这样:
Conf:
component: "serverless-global"
inputs:
mysql_host: gz-cdb-mytest.sql.tencentcdb.com
mysql_user: mytest
mysql_password: mytest
mysql_port: 62580
mysql_db: mytest
mini_program_app_id: mytest
mini_program_app_secret: mytest
Album_Login:
component: "@serverless/tencent-scf"
inputs:
name: Album_Login
codeUri: ./album/login
handler: index.main_handler
runtime: Python3.6
region: ap-shanghai
environment:
variables:
mysql_host: ${Conf.mysql_host}
mysql_port: ${Conf.mysql_port}
mysql_user: ${Conf.mysql_user}
mysql_password: ${Conf.mysql_password}
mysql_db: ${Conf.mysql_db}
这样就可以设置全局变量了。