无服务器:自定义 Lambda 函数名称

Serverless: Custom Lambda Function name

我正在为我的 aws lambda 函数使用无服务器框架。 假设我的 serverless.yml 文件中的函数名称是 'service1' 'function1'。当我部署它时,我的 lambda 函数名称变为:‘service1-dev-function1’。我知道 dev 是因为默认阶段是 dev,但我不想在我的 lambda 函数中使用任何与阶段相关的名称。我只希望我的函数是“function1”。我该怎么做?

这是有原因的。如果您想将该函数部署到生产中,您可以添加 --stage prod ,这将更改函数的名称以匹配阶段。如果您自己处理命名,稍后您可能会遇到冲突,部署会告诉您它无法完成,因为名称为 function1 的 Lambda 函数已经存在。

说了这么多,你也可以在 AWS 中显式控制函数的名称。只需像 handle 一样将 name 参数添加到您的函数定义中。您可以在这个 serverless.yml 参考页面上看到这一点,这通常是我遇到此类问题的第一站,并且该参考包含几乎所有可用的配置选项:

https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml/#serverlessyml-reference/