Decidi usar minha imagem do Docker para carregar meu aplicativo Lambda Express devido ao grande tamanho do arquivo.
FROM public.ecr.aws/lambda/nodejs:20
COPY . ${LAMBDA_TASK_ROOT}
RUN npm ci --production
CMD [ "index.handler" ]
Como posso especificar esta imagem no meu yml sem servidor?
org: projectname
app: express
service: deployments
frameworkVersion: '3'
provider:
name: aws
runtime: nodejs20.x
timeout: 10
tracing:
lambda: false
functions:
api:
handler: index.handler
name: express-api
events:
- httpApi: '*'
Para isso, você precisará configurar o AWS ECR no seu provedor, que será criado localmente e carregado no ECR.
Primeiro configure o provedor em
serverless.yml
Dockerfile
eserverless.yml
tem que estar no mesmo diretório raiz.Em seguida, substitua o manipulador pela imagem
Documentação sem servidor