Opção para remover o aws-sdk do node_modules local antes da implantação
O aws-sdk sozinho é um módulo de nó enorme (mais de 20 MB descompactado) e, juntamente com todas as suas dependências, pesa o suficiente para evitar edições de código no navegador na plataforma lambda.
Um usuário pode querer usar algo que dependa do aws-sdk (por exemplo @awspilot/dynamodb
) - mas isso funcionará bem com o módulo aws-sdk nativo do lambda.
Atualmente, você pode remover manualmente o aws-sdk e suas dependências e, assim, reduzir sua função package.zip, usando meu caso como exemplo, um fator de 25.
Poderia ser uma opção para serverless remover esses módulos desnecessários antes de empacotar/implantar?
N / D
Ei @davepwsmith obrigado por abrir 👍
Você pode usar as regras exclude
/ include
para definir globs que descreverão o que deve ser excluído/incluído em seu pacote de implantação (consulte: https://serverless.com/framework/docs/providers /aws/guide/packaging#exclude--include).
Também estamos trabalhando no #2709, que pode estar relacionado.
FWIW: _Agora_ basta adicionar aws-sdk
como devDependency
. Ele será excluído automaticamente e porque o tempo de execução do AWS Lambda Node.JS tem o aws-sdk incorporado, seu Lambda ainda deve funcionar (o meu funcionou :))
@ChristianUlbrich Obrigado por compartilhar!
Acabei de cortar 9mb do tamanho do pacote com a mudança de aws-sdk
para devDependency
🔥
Comentários muito úteis
FWIW: _Agora_ basta adicionar
aws-sdk
comodevDependency
. Ele será excluído automaticamente e porque o tempo de execução do AWS Lambda Node.JS tem o aws-sdk incorporado, seu Lambda ainda deve funcionar (o meu funcionou :))