Planning to have code revision for our Lambda code. In-order to automate, I tried using get-function of AWS Lambda CLI.
It returns configuration information with a location to the code.
eg :
{
"Code": {
"RepositoryType": "S3",
"Location": "https://awslambda-eu-cent-1-tasks.s3.eu-central-1.amazonaws.com/snapshots/893116096348/test-a3930794-73f7-431c-8818-7ad20a925f41?versionId=7dS2j2LWXsg7iGVCrKqeuhfnZwa2u8Ua&X-Amz-Security-Token=FQoDYXdzENT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDB2pAx%2Bj8eAbaojFEiK9A%2FDOgDmOdXmGOb3I2527X32yV3Mg9t%2BvJp242BuRZ7xK8PsRw3o4O36nCeLp%2Fxb42%2Fdv1%2BVXlKPPastT%2FIvVEjh3BrP7y5T%2BHV5DnOZZW5I5JzgpXSr%2B8lQ%2BR4K4hzthrxA%2FI5BnyH0BsqNs6mIGYEWt7CSYUkaF1xSJADwhP7%2BH7%2BvmYs%2B3goom%2BS6GrV1vHVG%2BtCk8XR7scFcY%2B9hF9b%2F9lhm2WH2DruLdSZcme39pmO%2BuUwMCUQF9aCyJYXByx2bct4f2CAIB2our4hZDSRZghwFjPkxJRVY121oK%2FP8kKEJRNsy%2FPMYAIJMR%2BjCIdd%2F60c4Hvn0B6JwBfRuS2icqXfsEov%2BpYfVCCYjlFRunVmDeLq1XsxvZrBInMk%2FLwN%2BwzlxqvFycsqp7wwQ9vOIJdPAZhWDrb72yD1OIaWJJuQYYDY%2FPmqIMblfab8AjMNxqbACejCef0wOQ80%2BC3I9vO%2BKo9e0hOp3jDJqb4CpmSMefbPA%2FBtY8YcXOYoxluEXZwXEjn3LC%2Fr6%2FpUYeQM6cF%2FPEbOxQbbbqsSh2ArnwdXmZyurpgYOh7ijCrm7jzDidOn8hrFEQVWcHlhIowpba1AU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20180228T124052Z&X-Amz-SignedHeaders=host&X-Amz-Expires=600&X-Amz-Credential=ASIAJYREVQ2BVFLE62EA%2F20180228%2Feu-central-1%2Fs3%2Faws4_request&X-Amz-Signature=7141182cd7eb3199658baa4a3fca531504785b0b1981c7479a25277612d6f7b7"
},
"Configuration": {
"TracingConfig": {
"Mode": "PassThrough"
},
"Version": "$LATEST",
"CodeSha256": "XAzdNmTvD4i***********sfbtV6M=",
....
....
This s3 download url is only valid for 10 minutes and is successfully downloading code as zip when I try from browser.
I tried using curl and no luck. I only returns some no-readable output.
Am I missing something? Or is there any other way to download the Lambda code (as zip or plain code) using command line?
EDIT (6-March-2018):
Little bit unorthodox, I called up browser from command line to download the zip file and sleep till the file is downloaded. In my mac, code appear like this,
download_location=`jq -r '.Code.Location' lambda-config.json`
/usr/bin/open -a "/Applications/Google Chrome.app" "$download_location"
while [ ! -f $HOME/Downloads/LambdaFunctionName-*.zip ]
do
sleep 2s
done