2
votes

AWS Lambda - Le package de déploiement utilise-t-il / tmp?

Je dois créer une fonction Lambda à l'aide d'un package de déploiement. Le zip du package de déploiement est d'environ 50 Mo. Je voudrais savoir si le package de déploiement sera décompressé dans le dossier / tmp lors de l'exécution?

Je sais qu'il y a une limite de 512 Mo sur le stockage / tmp. Je prévois de copier des fichiers de S3 vers / tmp pour un traitement local, donc j'aimerais savoir combien de stockage réel serait disponible dans / tmp dans mon cas.


1 commentaires

peut valoir la peine d'examiner couches lambda


3 Réponses :


0
votes

Le stockage du répertoire tmp est séparé du package de déploiement, vous aurez donc les 512 Mo. La taille du package de déploiement peut atteindre 50 Mo sous forme zip et 250 Mo dans les fichiers décompressés. Ainsi, vous pouvez compter sur 512 Mo.

Consultez la documentation associée: Limites AWS Lambda


5 commentaires

Merci. J'ai déjà consulté la page des limites AWS Lambda, mais cela n'était pas évident à partir des informations de la page.


Ce n'est pas du tout évident d'après ces informations sur la page; quelle est la source de vos informations @AndriyIvaneyko? Si vous avez une autre source, êtes-vous également en mesure de commenter l'impact des calques - sont-ils également séparés de l'espace / tmp ?


@ElYobo Oui, ce n'est pas évident à partir de la page de documentation, mais en supposant la contradiction, vous pouvez découvrir que le stockage des répertoires est séparé, en raisonnant. Je conviens avec vous que ce n'est pas évident, donc il est sujet à changement par les propriétaires de la documentation.


Je ne peux pas faire la même déduction que vous @AndriyIvaneyko :) Pouvez-vous expliquer plus en détail comment vous déterminez cela à partir des informations sur cette page?


@ElYobo Impliquer la contradiction avec la déclaration ci-dessus nécessitera beaucoup de notes dans la documentation, pour éviter d'autres problèmes pendant le travail avec lambdas, ces notes sont manquantes + la documentation est soigneusement maintenue à partir de celle que j'ai conclu la déclaration suivante.



0
votes

Comme Andriy Ivaneyko a répondu, chaque fonction lambda obtient un dossier / tmp qu'elle peut utiliser pour le traitement intermédiaire

Mais il y a quelques effets secondaires -

  1. Le dossier / tmp est conservé lors des appels de fonction lambda.

  2. Ainsi, lorsque la prochaine instance de la même fonction lambda est en cours d'exécution, cette instance suivante peut avoir accès aux fichiers stockés / utilisés par les premiers appels.

  3. Vous devrez nettoyer explicitement le dossier / tmp avant de terminer l'exécution de la fonction lambda.


1 commentaires

Êtes-vous en mesure de fournir une source dans la documentation AWS qui le précise?



0
votes

AWS ne mentionne pas l'allocation de mémoire d'exécution des packages de déploiement, mais n'a spécifié que la taille maximale du package de déploiement . Source Limites AWS Lambda

Cependant, conformément au Contexte d'exécution AWS Lambda , Chaque contexte d'exécution fournit 512 Mo d'espace disque supplémentaire dans le répertoire / tmp. D'après ce que j'ai compris, vous obtiendrez en temps réel 512 Mo d'espace disque.

J'espère que cela aide!


0 commentaires