zappa / Zappa

Serverless Python
https://zappa.ws/zappa
MIT License
3.25k stars 363 forks source link

[Migrated] [Feature Request] Add EFS Support #874

Open jneves opened 3 years ago

jneves commented 3 years ago

Originally from: https://github.com/Miserlou/Zappa/issues/2128 by dleber

Context

AWS recently announced the ability to attach EFS (Elastic File System) to lambda instances (more info).

It would be great if Zappa offered the ability to attach an EFS to lambda instances in a VPC.

Expected Behavior

In zappa_settings, specify an optional EFS config, including

  1. EFS mount path
  2. An EFS id
nickovs commented 1 year ago

This would be immensely useful to have. Not only does it provide an easy way to make huge packages like Tensorflow available to your Lambda functions but it also makes it much easier to preserve state. I have a use case that involves having a Lambda function that processes files from a Git repo. Without preserving state between instantiations the code has to perform a git clone every time it runs; with an attached EFS file system it just needs a git pull and runs a great deal faster.

Looking into the APIs it seems that this should be pretty easy. The mount points are part of the configuration that gets passed to lambda_client.create_function() or lambda_client.update_function_configuration(), stored under the FileSystemConfigs key. The configuration entry is just a list of short dictionaries containing two keys called Arn and LocalMountPath and these could just be copied out of the zappa_settings.json configuration.

github-actions[bot] commented 5 months ago

Hi there! Unfortunately, this Issue has not seen any activity for at least 90 days. If the Issue is still relevant to the latest version of Zappa, please comment within the next 10 days if you wish to keep it open. Otherwise, it will be automatically closed.

nickovs commented 5 months ago

This is still something that would be hugely useful, for all the reasons discusses above.