Я пытаюсь развернуть файл yaml без сервера, который не помещается в один стек CloudFormation. Поиск в Интернете, кажется, есть плагины для этого. До сих пор я тестировал serverless-plugin-split-stacks
. Это работает, но ...
Мне удалось развернуть мой проект, который включает в себя более 200 ресурсов CloudFormation (я не смог бы сделать это без вышеупомянутого плагина). Просто мне нужно использовать плагин serverless-aws-alias
. Ранее, без плагина serverless-plugin-split-stacks
, я развертывал свой проект, а плагин serverless-aws-alias
создавал для меня псевдонимы без каких-либо проблем.
Но теперь (после добавления плагина serverless-plugin-split-stacks
) лямбда-функция созданы без псевдонимов. Я заглянул в список стека CloudFormation и вижу, что стек для псевдонима, но по-прежнему не создан псевдоним для лямбды.
Мне было интересно, удалось ли кому-нибудь развернуть функцию без сервера с более чем одной стек при использовании плагина serverless-aws-alias
!?
[ОБНОВЛЕНИЕ]
Вот простой тестовый пример:
service: serverless-test
provider:
name: aws
runtime: nodejs12.x
endpointType: REGIONAL
plugins:
- serverless-plugin-split-stacks
- serverless-aws-alias
custom:
splitStacks:
nestedStackCount: 20
perFunction: false
perType: false
perGroupFunction: true
functions:
create:
handler: code.get
events:
- http:
path: /
integration: lambda
method: get
cors: true
Если вы развернете это Файл serverless.yml
выглядит так:
sls deploy --region us-east-1 --stage dev --alais dev
Созданные лямбда-функции не будут иметь псевдонимов (как и должно быть). И это версия пакетов, которые я использую:
$ sls -v
Framework Core: 1.61.2
Plugin: 3.6.6
SDK: 2.3.0
Components Core: 1.1.2
Components CLI: 1.4.0
$ cat ./package.json
{
"name": "serverless-test",
"version": "1.0.0",
"description": "",
"main": "code.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"serverless-aws-alias": "^1.8.0",
"serverless-plugin-split-stacks": "^1.9.3"
}
}