【问题标题】:Deploy warning calling external JS function in `serverless.yml`在`serverless.yml`中部署调用外部JS函数的警告
【发布时间】:2021-06-22 01:06:35
【问题描述】:

所以,在我的 serverless.yml 文件中,我有这个:

custom:
  my_attr: ${file(./serverless/get-custom-value.js):my_attr}

在那个文件(位于./serverless/get-custom-value.js)中有这段JavaScript代码:

module.exports.my_attr = async function(slsArg) {
  const stage = slsArg.providers.aws.getStage()
  console.debug(`### stage: "${stage}".`)
  return stage
}

当执行sls package -s {stage}sls deploy -s {stage}(都成功)时,我看到了这个警告:

Serverless: Deprecation warning: Variables resolver reports following resolution errors:
              - Cannot resolve variable at "custom.my_attr": Cannot resolve "my_attr" out of "get-custom-value.js": Resolved a JS function not confirmed to work with a new parser, falling back to old resolver

然而,尽管有警告,但它完全按预期工作......

【问题讨论】:

    标签: serverless-framework serverless


    【解决方案1】:

    这是一个弃用警告,用于通知您,在无服务器框架的下一版本中,此特定解析器语法已被弃用(并且会出错),因为解析变量的过程在内部发生了变化。

    您可以非常简单地采用新的自定义解析器,只需更改serverless.yml中的声明并修改get-custom-value.js中的函数参数,然后您就可以设置

    variablesResolutionMode: 20210326
    

    在您的serverless.yml 中表明您已迁移。这将指示无服务器框架使用新的解析器,如警告消息所示。

    完整的概述在documentation

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多