如何从命令行 download/pull lambda 代码到本地机器?

How can I download/pull lambda code to a local machine from command line?

我正在使用 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 功能。

这将 return 在 Code > Location 结构中预签名 URL,如果您随后下载它(使用 CLI 工具,例如 curl) 然后您可以下载包含 Lambda 函数内容的 zip 文件。

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

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