У меня есть следующий 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
И они ВСЕ подтверждают проблему и говорят, что она была исправлена!