我开始编写Alexa技能。我的技能需要上传.ZIP文件,因为它包含存储在node_modules文件夹中的alexa-sdk
依赖项。
是否有更有效的方法从我的本地计算机上传新版本的Lambda函数和文件而不进行压缩并一遍又一遍地手动上传相同的文件?有些像git push或使用单个命令通过终端部署的不同方式吗?
答案 0 :(得分:1)
为了增加Khalid的答案,我最近创建了这个基本的批处理脚本,以简化特定的lambda函数的部署。此示例适用于NodeJS Lambda函数,该函数的依赖项位于node_modules
文件夹中。
安装了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