Без сервера: Ваш serverless.yml имеет недопустимое значение с ключом: "Ref"

При установке без сервера с помощью следующей командыsls plugin install -n serverless-alexa-skills --stage dev

Я получаю ошибку как Your serverless.yml has an invalid value with key: "Ref"

Вот мой пример файла serverless.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: 

Здесь есть блок. Может ли кто-нибудь помочь мне здесь.

3 ответа

Решение

Ref является внутренней функцией Cloudformation. Это должно ссылаться на ресурс. Целый outputs Раздел также необязателен, используйте его, только если вам нужно ссылаться на ресурсы из одного стека в другом.

В основном это говорит о том, что Ref: ожидает значение. Вы определили его, но не присвоили ему никакого значения. Если это бесполезно, вы должны удалить эту часть из своего кода:

outputs:
DialogflowFunctionArn:
Value:
  Ref:

Реф ожидает ссылку на что-то, прямо сейчас вы не передаете это что-либо для ссылки.

Итак, если вы хотите, чтобы ARN функции DialogflowFunction и эта функция config выглядели примерно так в вашем файле функций:

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 принимает логический идентификатор ресурса, на который вы хотите сослаться, в данном случае это DialogflowFunctionи вернет ARN этого ресурса.

Другие вопросы по тегам