https://github.com/anycodes/serverless-global
Serverless Framework Components全局变量配置方案
https://github.com/anycodes/serverless-global
Last synced: 7 months ago
JSON representation
Serverless Framework Components全局变量配置方案
- Host: GitHub
- URL: https://github.com/anycodes/serverless-global
- Owner: anycodes
- License: apache-2.0
- Created: 2020-01-13T05:48:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-18T03:18:53.000Z (about 6 years ago)
- Last Synced: 2025-03-06T00:17:05.404Z (over 1 year ago)
- Language: JavaScript
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Components全局变量配置
在使用Serverless Framework Components的时候,会遇到配置一些全局变量,例如我有多个函数,需要配置数据库等信息,但是在Serverless Framework Components中貌似并不能支持全局变量,所以做了这个非常简单的组件来实现。
使用方法很简单,在Yaml中增加全局配置的字段:
```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可以这样:
```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}
```
这样就可以设置全局变量了。