下载已上传的Lambda函数

Elh*_*les 113 amazon-web-services aws-lambda

我使用"上传.zip"在AWS(Python)中创建了一个lambda函数.我丢失了这些文件,我需要进行一些更改,是否有任何方法可以下载.zip?

Bub*_*ker 214

是!

导航到您的lambda函数设置,在右上角,您将有一个名为" Actions" 的按钮.在下拉菜单中选择" export",然后在弹出窗口中单击"下载部署包",该功能将下载到一个.zip文件中.

  • 为我工作。请注意,我下载的文件没有“.zip”扩展名,因此在 Windows 中只是一个普通文件。解决方法是下载后手动在文件名中添加扩展名。 (6认同)
  • 点击功能。当您在功能管理页面单击操作时。 (2认同)
  • @Vineeth- 是的,您可以使用以下命令: AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=XXX aws s3 cp s3://my-images/dev 。--递归 (2认同)

Arj*_*ani 15

更新:添加了sambhaji-sawant的脚本链接。修正了Typos,改进的答案和基于注释的脚本!

您可以使用aws-cli下载任何lambda的zip文件。

首先,您需要获取lambda zip的URL $ aws lambda get-function --function-name $functionName --query 'Code.Location'

然后,您需要使用wget / curl从URL下载zip。 $ wget -O myfunction.zip URL_from_step_1

此外,您可以使用以下命令列出您的AWS账户上的所有功能

$ aws lambda list-functions

我制作了一个简单的bash脚本,以从您的AWS账户并行下载所有lambda函数。你可以在这里看到它 :)

注意:在使用上述命令(或任何aws-cli命令)之前,您需要设置aws-cli aws configure

完整指南在这里


小智 5

这是我使用的 bash 脚本,它下载默认区域中的所有函数:

download_code () {
    local OUTPUT=$1
    OUTPUT=`sed -e 's/,$//' -e 's/^"//'  -e 's/"$//g'  <<<"$OUTPUT"`
    url=$(aws lambda get-function --function-name get-marvel-movies-from-opensearch --query 'Code.Location' )
    wget $url -O $OUTPUT.zip
}

FUNCTION_LIST=$(aws lambda list-functions --query Functions[*].FunctionName)
for run in $FUNCTION_LIST
do
    download_code $run
done

echo "Finished!!!!"
Run Code Online (Sandbox Code Playgroud)