问题描述
我正在将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]")