Skip to content

Instantly share code, notes, and snippets.

@TheNetJedi
Last active July 25, 2024 21:43
Show Gist options
  • Save TheNetJedi/0847ba0ec1da9879b4fa1d8f3276b004 to your computer and use it in GitHub Desktop.
Save TheNetJedi/0847ba0ec1da9879b4fa1d8f3276b004 to your computer and use it in GitHub Desktop.
Bash script to download all your Lambda functions.
#!/usr/bin/env bash
#You need to have aws-cli installed and configured
#Credits to Reddit user u/aa93 for the suggestions
mkdir code
aws lambda list-functions | \
grep FunctionName | \
cut -d '"' -f4 | \
while read -r name; do
aws lambda get-function --function-name $name | tail -n 3 | egrep -o 'https?://[^ ]+' | sed 's/"//' | xargs wget -O ./code/$name.zip
done
@Sankyyuu
Copy link

Using Wget didnt worked really well for me i instead replaced it by curl and it works well
aws lambda get-function --function-name $name | tee ./code/$name.json | jq -r '.Code.Location' | xargs curl --output ./code/$name.zip

@RaphaMiranda
Copy link

RaphaMiranda commented Nov 11, 2022

This worked for me using git-bash terminal on windows.

#!/usr/bin/env bash
#You need to have aws-cli installed and configured
#You need to have CURL installed
#Credits to Reddit user u/aa93 for the suggestions

mkdir -p code
aws lambda list-functions | \
grep FunctionName | \
#Select only matching prefix functions
grep <prefix> | \
cut -d '"' -f4 | \
while read -r name; do
    aws lambda get-function --function-name $name | tee ./code/$name.json | egrep -o 'https?://[^ ]+' | sed 's/"//' | xargs curl --output ./code/$name.zip
done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment