Armazenar nó do módulo no bucket S3 para o AWS Lambda

0

Pergunta

Tenho desenvolvido uma nodejs baseado função/programa e deseja executar na AWS Lambda. O problema é que o tamanho é maior que 50MB e AWS Lambda suporta função direta código de estar sob 50MB.

Principalmente no meu código o nó do módulo são de 43MB e o código real é de cerca de 7MB. Então, há alguma forma de separar o meu nó do módulo de código, Pode ser, se nós podemos armazenar o nó de módulos no bucket S3 e, em seguida, acessá-lo na AWS Lambda? Todas as sugestões serão úteis. Obrigado

P. S: Devido a dependências de problemas eu não posso executar esta função como uma janela de Encaixe imagem no Lambda.

amazon-web-services aws-lambda node.js
2021-11-23 22:10:38
2
1

Se você não quer ou não pode usar a janela de Encaixe a embalagem, você pode zip seu node_modules em um bucket S3.

O seu handler (ou o módulo que contém o manipulador), pode, em seguida, baixe o arquivo zip e extrair os arquivos para /tmp. Em seguida, você require() os módulos de lá.

A descrição acima não ser 100% exato, pois há muitas maneiras de fazê-lo. Mas essa é a idéia geral.

Este é um método de implantação zappa, uma ferramenta para a implementação de Python/Django apps para a AWS Lambda, tem apoiado muito antes de a janela de encaixe recipientes foram admitidos no Lambda.

https://github.com/Miserlou/Zappa/pull/548

2021-11-23 22:49:27
1

Você pode usar lambda camadas , que é um ajuste perfeito para o seu caso de uso. Há algum tempo atrás, nós precisamos usar o facebook sdk para um de nossos projeto e criou-se um lambda camada para o facebook sdk(32 mb) e, em seguida, o pacote de implantação tornou-se apenas 4 KB.

Ele é indicado como

A utilização de camadas pode torná-lo mais rápido para implantar aplicativos com o AWS sem servidor de Aplicação (Modelo AWS SAM) ou sem servidor framework. Ao mover as dependências de execução do seu código de função para uma camada, isso pode ajudar reduce the overall size of the archive carregado durante a implantação.

Única função Lambda pode usar até five layers. O tamanho máximo do total de descompactado função e todas as camadas é 250 MB o que é muito além de seus limites.

2021-11-24 17:39:02

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................