Ошибка развертывания из-за ошибки Значение свойства Переменные должны быть объектом со свойствами String (или простого типа) - PullRequest
0 голосов
/ 10 июня 2019

Я получаю ошибку без сервера следующим образом: Произошла ошибка: CandidateSubmissionLambdaFunction - значение свойства Переменные должны быть объектом со свойствами String (или простого типа).

Я попытался изменить значение на строку сyml-файл, а также я получаю ту же ошибку.

Мой код Yml-файла указан ниже:


frameworkVersion: ">=1.1.0 <2.0.0"

provider:
  name: aws
  runtime: nodejs8.10
  stage: dev
  region: us-east-1
  environment:
    CANDIDATE_TABLE: ${self:service}-${opt:stage, self:provider.stage}
    CANDIDATE_EMAIL_TABLE: "candidate-email-${opt:stage, self:provider.stage}"
    iamRoleStatements:
      - Effect: Allow
        Action:
          - dynamodb:Query
          - dynamodb:Scan
          - dynamodb:GetItem
          - dynamodb:PutItem
        Resource: "*"

resources:
  Resources:
    CandidatesDynamoDbTable:
      Type: 'AWS::DynamoDB::Table'
      DeletionPolicy: Retain
      Properties:
        AttributeDefinitions:
          -
            AttributeName: "id"
            AttributeType: "S"
        KeySchema:
          -
            AttributeName: "id"
            KeyType: "HASH"
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        StreamSpecification:
          StreamViewType: "NEW_AND_OLD_IMAGES"
        TableName: ${self:provider.environment.CANDIDATE_TABLE}

functions:
  candidateSubmission:
    handler: api/candidate.submit
    memorySize: 128
    description: Submit candidate information and starts interview process.
    events:
      - http:
          path: candidates
          method: post 

Информация об окружающей среде

     OS:   linux
     Node Version:  8.10.0
     Serverless Version: 1.27.3

Я хочу развернутьэто на AWS и хотите выполнить творог операции.

1 Ответ

0 голосов
/ 10 июня 2019

Одна из переменных, используемых для значения в вашей конфигурации YAML, может быть неправильного типа.

${self:service} не определен в YAML, но на него ссылаются в

provider:
  environment:
    CANDIDATE_TABLE: ${self:service}-${opt:stage, self:provider.stage}
...