如何快速部署到AWS Lambda,替代手动上载?

时间:2017-02-18 22:06:02

标签: amazon-web-services amazon-s3 aws-lambda

我开始编写Alexa技能。我的技能需要上传.ZIP文件,因为它包含存储在node_modules文件夹中的alexa-sdk依赖项。

是否有更有效的方法从我的本地计算机上传新版本的Lambda函数和文件而不进行压缩并一遍又一遍地手动上传相同的文件?有些像git push或使用单个命令通过终端部署的不同方式吗?

3 个答案:

答案 0 :(得分:1)

为了增加Khalid的答案,我最近创建了这个基本的批处理脚本,以简化特定的lambda函数的部署。此示例适用于NodeJS Lambda函数,该函数的依赖项位于node_modules文件夹中。

Prerequisits:

安装了7zip。找到here

在CMD中有它(在系统PATH变量上有它),如here

所述

让您的本地aws-cli设置有效的凭据,这些凭据可以上传到AWS Lambda。

rm -rf target
mkdir -p target

cp -r index.js package.json node_modules/ target/

pushd target

7z a zip_file_name.zip -r
popd

aws lambda update-function-code \
    --function-name YOUR_FUNCTION_NAME \
    --zip-file fileb://target/zip_file_name.zip \
    --region us-east-1

答案 1 :(得分:0)

您可以使用update-function-code CLI命令。

请注意,他的操作只能用于现有的Lambda函数,不能用于更新函数配置。

答案 2 :(得分:0)

我的bash单线:

sourceMapLocationMappings