MTZ*_*TZ4 9 serverless-framework
我正在尝试在无服务器中创建多个阶段,但没有成功。
这是我的serverless.yml:
service: some-cache-updater
provider:
name: aws
runtime: nodejs8.10
stage: dev
functions:
scheduledUpdater:
handler: handler.scheduledUpdater
timeout: 120
Run Code Online (Sandbox Code Playgroud)
我想添加的是一个具有不同超时的prod阶段。
我可以在同一个 yml 中做到吗?
无论如何,示例或参考资料都会有所帮助......谢谢。
Ala*_*ack 10
使用 Serverless 的$self参考插值,它可以包括进一步的插值。
必要时定义自定义变量。如果变量不存在,您也可以使用默认值。
例子:
service: some-cache-updater
custom:
functimeout:
prod: 120
uat: 60
provider:
name: aws
runtime: nodejs8.10
stage: ${opt:stage, 'dev'}
functions:
scheduledUpdater:
handler: handler.scheduledUpdater
# Lookup stage key from custom.functimeout. If it doesn't exist
# default to 10
timeout: ${self:custom.functimeout.${self:provider.stage}, '10'}
Run Code Online (Sandbox Code Playgroud)
然后,当您部署时,您可以传递--stage prodor--stage uat参数。在这个例子中,没有设置舞台将默认为dev
无服务器.yml:
...
provider:
stage: ${opt:stage, 'dev'}
...
Run Code Online (Sandbox Code Playgroud)
命令行:
sls deploy --stage prod
Run Code Online (Sandbox Code Playgroud)
${opt:stage, 'dev'}获取从命令行--stage选项传递的值。在这种情况下,产品。如果没有传递任何选项,则将dev作为默认值。
| 归档时间: |
|
| 查看次数: |
4837 次 |
| 最近记录: |