Шаблон CloudFormation недопустим: Ошибка формата шаблона: Имя ресурса AuthorizerApiGatewayAuthorizerproject-dev не алфавитно-цифровой - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть следующий serverless.yml файл:

service:                      test-project

provider:
  name:                       aws
  stage:                      ${opt:stage, 'project-dev'}
  runtime:                    nodejs8.10
  endpointType:               REGIONAL

params:
  user_pool_arn:              ${opt:user_pool_arn}

functions:
  login:
    name:                     login
    handler:                  src/login.handler
    events:
    - http:
        integration:          lambda
        path:                 login
        method:               post
        cors:                 true
        request:
          passThrough:        WHEN_NO_TEMPLATES
          template:
            application/json: '{ "username": $input.json("$.username"), "password": $input.json("$.password") }'

  logout:
    name:                     logout
    handler:                  src/logout.handler
    events:
    - http:
        integration:          lambda
        path:                 logout
        method:               post
        cors:                 true
        authorizer:
          name:               authorizer
          arn:                ${self:params.user_pool_arn}
        request:
          passThrough:        WHEN_NO_TEMPLATES
          template:
            application/json: '{ "username": "$context.authorizer.claims.sub" }'

plugins:
- serverless-aws-alias
- serverless-prune-plugin

И я пытаюсь развернуть его так:

sls deploy --region us-east-1 --stage project-dev --alias "project-dev" --user_pool_arn XXXXX

Но я сталкиваюсь с этой ошибкой:

The CloudFormation template is invalid: Template format error: Resource name AuthorizerApiGatewayAuthorizerproject-dev is non alphanumeric.

Я считаю, что эта ошибка связана с тем, что мои stage и alias равны project-dev.Но мне нужно, чтобы они были такими.И я знаю, что это ошибка без сервера, а не с AWS, так как я не использовал имя AuthorizerApiGatewayAuthorizerproject-dev, мне даже не важно, какое это имя.

Я использую следующие конфигурации:

 OS:                     linux
 Node Version:           8.10.0
 Serverless Version:     1.32.0

Самое смешное, что я нашел следующие сообщения об ошибках:

Ошибка при создании псевдонимов с "-" в имени # 68

Имя ресурса не алфавитно-цифровое.# 2017

Ошибка формата шаблона: имя ресурса *** не алфавитно-цифровое # 2474

И они ВСЕ подтверждают проблему и говорят, что она была исправлена!

...