Я использую Serverless Framework 1.32.0 с AWS Lambdas и Python 3.6. Я хотел бы развернуть несколько лямбд по-отдельности, поскольку в данный момент я могу выполнять развертывание по одному только для каждой лямбды в моем каталоге, что может привести к путанице со многими лямбдами в ближайшем будущем.
Это моя текущая структура проекта:
└── cat_service
│
├── hello_cat
│ ├── hello_cat-functions.yml
│ └── service.py
│
├── random_cat_fact
│ ├── random_cat_fact-functions.yml
│ └── service.py
│
└── serverless.yml
serverless.yml
service: cat-service
provider:
name: aws
runtime: python3.6
stage: dev
stackName: cat-service
deploymentBucket:
name: test-cat-bucket
role: arn:aws:iam::#{AWS::AccountId}:role/lambda-cat-role
cfnRole: arn:aws:iam::#{AWS::AccountId}:role/cloudformation-cat-role
functions:
- ${file(lambdas/hello_cat/hello_cat-functions.yml)}
stepFunctions:
stateMachines:
catStateMachine:
definition:
Comment: "Get cat hello"
StartAt: hello_cat
States:
hello_cat:
Type: Task
Resource: "arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:${self:service}-${opt:stage}-hello_cat"
End: true
plugins:
- serverless-step-functions
- serverless-pseudo-parameters
hello_cat-functions.yml
msc_cat_facts:
handler: service.handler
name: ${self:service}-${opt:stage}-msc_cat_facts
Проблема заключается в том, что при развертывании его с serverless deploy --stage dev
архивируется весь проект и не разделяет лямбды, поэтому фактическая лямбда в консоли AWS отображается как hello_cat
, но включает в себя полную структуру проекта вместо разделения каждый лямбда-файл находится в своем собственном каталоге.
Есть ли способ развернуть отдельные лямбды в одном проекте только с одним serverless.yml
?
Заранее спасибо.