Ссылка на целое свойство в нескольких файлах без сервера - [объект объекта] не существует - PullRequest
2 голосов
/ 18 января 2020

Одна из самых больших проблем, с которыми я столкнулся при использовании безсерверного доступа, заключается в развертывании AWS лямбда-функций в микросервисном режиме (каждая лямбда-функция индивидуальна - я уже пробовал отдельные пакеты, Webpack и т. Д.) ).

В настоящее время я разбиваю свое серверное приложение на несколько файлов, не относящихся к серверу, и пытаюсь сослаться на основной серверный сервер конфигурации. Я хотел бы наследовать целые деревья объектов, поэтому мне не нужно перепечатывать их по одному (кроме того, если есть изменение, я могу распространить его по всем лямбдам).

Вот мой текущий структура:

| serverless.yml
| lambda/
|       /planning
|                index.ts
|                serverless.yml
|       /generator
|                index.ts
|                serverless.yml
|       /createStudents
|                index.ts
|                serverless.yml

Содержимое основного файла без сервера (опущено для краткости):

## https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/
service: backend-appsync

provider:
  name: aws
  stage: ${opt:stage, 'dev'}
  runtime: nodejs10.x
  region: us-east-2
  ## https://serverless.com/framework/docs/providers/aws/guide/iam/
  ## https://serverless.com/blog/abcs-of-iam-permissions/
  iamRoleStatements:
    - Effect: Allow
      Action:
        - "dynamodb:BatchGetItem"
        - "dynamodb:BatchWriteItem"
        - "dynamodb:ConditionCheckItem"
        - "dynamodb:GetItem"
        - "dynamodb:DeleteItem"
        - "dynamodb:PutItem"
        - "dynamodb:Query"
      Resource: "arn:aws:dynamodb:us-east-2:747936726382:table/SchonDB"

Я хочу прочитать весь объект провайдера и вставить это в отдельный файл serverless.yml.

Пример: /lambda/planning/serverless.yml

service: "planning"
provider: ${file(../../serverless.yml):provider}
functions:
  planning:
    handler: ./index.handler
    name: ${self:provider.stage}-planning
    description: Handles the Planning of every teacher.
    memorySize: 128

Я получаю следующую ошибку:

Ошибка без сервера ------------- --------------------------

Указанный поставщик "[объект объекта]" не существует. Получить поддержку -------------------------------------------- Документы: документы. serverless.com Ошибки: github.com/serverless/serverless/issues Проблемы: forum.serverless.com

Информация о вашей среде -------------------- ------- Операционная система: win32 Версия узла: 12.14.1 Версия платформы: 1.61.2 Версия плагина: 3.2.7 Версия SDK: 2.2.1 Версия ядра компонента: 1.1.2 Версия CLI компонента: 1.4.0

Я думал, что смогу сослаться на всю собственность. Это возможно? Что я делаю неправильно? Спасибо:)

...