无服务器:您的无服务器 .yml 具有无效值,键:"Ref"



使用以下命令安装无服务器时 sls plugin install -n serverless-alexa-skills --stage dev

我收到类似Your serverless.yml has an invalid value with key: "Ref"的错误

以下是我的示例无服务器.yml文件

plugins:
- serverless-webpack
- serverless-s3-sync
- serverless-plugin-git-variables
- serverless-alexa-skills
functions: ${file(./deploy/${opt:stage}.yml):functions}
resources: ${file(./deploy/${opt:stage}.yml):resources}
custom: ${file(./deploy/${opt:stage}.yml):custom}
outputs:
DialogflowFunctionArn:
Value:
  Ref: 

这里有一个块。 有人可以在这里帮助我吗?

Ref 是一个 Cloudformation 内在函数。它需要引用资源。整个outputs部分也是可选的,仅当您需要引用另一个堆栈中的资源时才使用它。

它基本上是说 Ref: 期待一个值。您已经定义了它,但尚未为其分配任何值。如果没有用,那么你应该从代码中删除这部分:

outputs:
DialogflowFunctionArn:
Value:
  Ref:

Ref 希望引用某些内容,现在您没有传递任何要引用的内容。

因此,假设您想要 DialogflowFunction 的 ARN,并且该函数配置在您的函数文件中如下所示:

DialogflowFunction:
  description: get the flow
  handler: src/functions/dialog-controller.flow
  events:
    - http:
        path: '/dialog/flow'
        method: get
        cors: true

那么你的引用看起来像这样:

outputs:
DialogflowFunctionArn:
Value:
  Ref: DialogflowFunction

Ref 获取要引用的资源的逻辑 ID(在本例中为 DialogflowFunction ),并将返回该资源的 ARN。

相关内容

最新更新