例如,这是我的 serverless.yml(省略了无关部分):
service: cd-mock
provider:
name: aws
runtime: python3.6
region: eu-west-1
package:
include:
- handler.py
functions:
index:
handler: handler.index
events:
- http:
path: /
method: get
执行serverless deploy
后,将返回以下服务信息:
service: cd-mock
stage: dev
region: eu-west-1
stack: cd-mock-dev
api keys:
None
endpoints:
GET - https://ab1cd2ef3g.execute-api.eu-west-1.amazonaws.com/dev/
functions:
index: cd-mock-dev-index
请注意URL端点中的/dev
部分,以及函数中的/dev
。那个dev
是配置文件中stage
参数的默认值。
在serverless.yml
文件中指定stage: something
将使/something
成为URL的后缀,并成为函数的一部分。问题:如何从生成的URL端点中删除阶段规范,或者如何防止阶段规范成为生成的URL的一部分? (阶段是函数的一部分是可以接受的。这将很容易在AWS Lambda仪表板上区分
staging
和production
函数。)