我是无服务器框架的新来者。
如何将多个阶段部署到相同的 aws 终端节点,例如:
1nuu2d832j.execute-api.ap-southeast-1.amazonaws.com/prod
1nuu2d832j.execute-api.ap-southeast-1.amazonaws.com/dev
这是我的配置无服务器.yml
service: wallet-api
custom:
stages:
- local
- dev
- prod
plugins:
- serverless-offline
- serverless-dotenv-plugin
- serverless-stage-manager
provider:
name: aws
region: ap-southeast-1
runtime: nodejs12.x
environment:
NODE_ENV: ${env:NODE_ENV}
MONGO_URI: ${env:MONGO_URI}
functions:
graphql:
handler: dist/graphql.handler
events:
- http:
path: /
method: post
- http:
path: /
method: get
在我看来,我知道这是多个阶段的部署,但可以完成相同的 api,但还不知道如何完成。
我希望有人能帮忙,谢谢。
你需要使用一个名为stage variables
的概念,
这些是键/值变量,其值可以因环境而异,
例如。dev
终结点指向dev_someFunction
,
而stage
终结点指向stage_someFunction
参考 -
https://aws.amazon.com/blogs/compute/using-api-gateway-stage-variables-to-manage-lambda-functions/
https://serverless-stack.com/chapters/stages-in-serverless-framework.html