Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

AWS Lambda Layer for Python PyFilesystem2 module.

License

jason-dour/pyfilesystem2-aws-lambda-layer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

pyfilesystem2-aws-lambda-layer

AWS Lambda Layer for Python PyFilesystem2 module.

Purpose

Maybe it seems weird to add a Layer just to do "filesystem" work. Sure, Lambda are small discrete units of work; surely they don't require a complex filesystem handler for Python?

Have you ever grown tired of Lambda's 512 MB /tmp space? Ever hit that limit? Ever wonder how you might get even just a smidge more room?

Did you notice that PyFilesystem2 does mem-fs? S3-fs?

Maybe it won't work. Maybe AWS will notice and shut it down. But I say we try.

Building the Layers

  1. Confirm the build directory is clean.

    $ ls -1 build
    build-pyfs2.sh
  2. Then execute the docker public.ecr.aws/lambda/python images to run the build script.

    docker run --rm -v `pwd`/build:/var/task -it --entrypoint /bin/bash public.ecr.aws/lambda/python:3.6 ./build-pyfs2.sh
    docker run --rm -v `pwd`/build:/var/task -it --entrypoint /bin/bash public.ecr.aws/lambda/python:3.7 ./build-pyfs2.sh
    docker run --rm -v `pwd`/build:/var/task -it --entrypoint /bin/bash public.ecr.aws/lambda/python:3.8 ./build-pyfs2.sh
    docker run --rm -v `pwd`/build:/var/task -it --entrypoint /bin/bash public.ecr.aws/lambda/python:3.9 ./build-pyfs2.sh

Deploy the Layers

Once the layer zip files are created, you can deploy them to your AWS account with the following command:

aws lambda publish-layer-version --layer-name "pyfilesystem2-python36" --description "PyFilesystem2 Module for Python 3.6 Runtime" --license-info "BSD-2-Clause" --compatible-runtimes "python3.6" --zip-file "fileb://build/pyfilesystem2-python3.6.zip"
aws lambda publish-layer-version --layer-name "pyfilesystem2-python37" --description "PyFilesystem2 Module for Python 3.7 Runtime" --license-info "BSD-2-Clause" --compatible-runtimes "python3.7" --zip-file "fileb://build/pyfilesystem2-python3.7.zip"
aws lambda publish-layer-version --layer-name "pyfilesystem2-python38" --description "PyFilesystem2 Module for Python 3.8 Runtime" --license-info "BSD-2-Clause" --compatible-runtimes "python3.8" --zip-file "fileb://build/pyfilesystem2-python3.8.zip"
aws lambda publish-layer-version --layer-name "pyfilesystem2-python39" --description "PyFilesystem2 Module for Python 3.9 Runtime" --license-info "BSD-2-Clause" --compatible-runtimes "python3.9" --zip-file "fileb://build/pyfilesystem2-python3.9.zip"

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /