【问题标题】:Serverless: Custom Lambda Function name无服务器:自定义 Lambda 函数名称
【发布时间】:2021-07-09 03:45:40
【问题描述】:

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

【问题讨论】:

    标签: aws-lambda serverless-framework


    【解决方案1】:

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

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

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

    【讨论】:

    • 我错过了服务部分。一般是“servicename-stage-functionName”。我只想拥有'functionname-stage'。我不知道函数中的名称属性。感谢帮助
    • 再次这样做是为了防止碰撞。您可能在同一阶段有另一个具有相同功能名称的服务。
    猜你喜欢
    • 2017-02-18
    • 1970-01-01
    • 2021-02-18
    • 2021-12-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多