如何从命令行下载/拉出lambda代码到本地计算机?

问题描述

我正在将sam deploy命令与AWS SAM command line tool结合使用。 现在,我使用AWS控制台中的Web IDE进行了一些更改。 如何将更改拉到本地计算机,以便下一个sam deploy命令不会覆盖它们? (我在寻找类似于git pull的东西)

解决方法

您应该为源代码提供一个真实的来源。那实际上应该是您的源代码控制存储库(Git)。如果您在Web IDE中更改了源代码,则应将这些更改复制到Git存储库中。

对于您的原始问题,要从命令行下载Lambda函数的源代码,可以使用aws lambda get-function命令来下载有关该函数的信息。响应中包含的部分信息是一个URL,用于下载该功能的部署程序包,有效期为10分钟。然后,您可以使用curl之类的名称从该URL下载部署程序包。

,

为此,您将需要使用AWS CLI,此过程的开始将要求您使用AWS CLI中的get-function函数。

这将返回Code> Location结构中的预签名URL,如果您随后下载该URL(使用curl之类的CLI工具),则可以下载一个zip文件包含Lambda函数的内容。

预期功能将类似于以下内容

curl $(aws lambda get-function --function-name $FUNCTION_NAME --output text --query "Code.[Location]")