aws файл serverless.yml: «Не удалось найти допустимый параметр для объявления« opt: stage »» - PullRequest
1 голос
/ 08 ноября 2019

Предупреждение об отсутствии сервера Не ​​удалось найти действительную опцию для удовлетворения объявления «opt: stage». У меня есть следующий файл serverless.yml

Конфигурация без сервера

service: api-service

# Поставщик провайдера: name: aws runtime: nodejs8.10 region: $ {opt:регион, 'ap-east-1'} stage: $ {opt: stage, 'dev'} # Среда переменных среды: STAGE: $ {self: custom.myStage} MONGO_DB_URI: $ {file (./ serverless.env.yml): $ {opt: stage} .MONGO_DB_URI} LAMBDA_ONLINE: $ {file (./ serverless.env.yml): $ {opt: stage} .LAMBDA_ONLINE}

    # Constants Varibles
    custom:
        # environments Variables used for convert string in upper case format
        environments:
        myStage: ${opt:stage, self:provider.stage}
        stages:
          - dev
          - qa
          - staging
          - production
        region:
          dev: 'ap-east-1'
          stage: 'ap-east-1'
          production: 'ap-east-1'

    # Function
    functions:
      testFunc:
        handler: index.handler
        description: ${opt:stage} API's
        events:
          - http:
              method: any
              path: /{proxy+}
              cors:
                origin: '*'

    #package
    package:
      exclude:
        - .env
        - node_modules/aws-sdk/**
        - node_modules/**

1 Ответ

0 голосов
/ 14 ноября 2019

В описании testFunc вы используете ${opt:stage}. Если вы используете это напрямую, вам нужно передать флаг --stage при запуске команды deploy.

Что вам нужно сделать, это использовать ${self:provider.stage}, потому что там у вас будет рассчитан этап.

...