我需要开发一个Alexa技能,对于Lambda函数,我在所需的文件夹结构中上传了一个zip文件(大约30 MB因为ALEXA SDK大约30 MB)(结构是正确的,因为我测试了技能)。但我无法在内联代码编辑器中查看该文件。如果我需要对index.js进行任何更改,我将不得不在本地编辑器中打开它(压缩文件夹中的所有文件并再次上传)。我必须对文件的每一个小改动都这样做,因为我无法在内联代码编辑器中打开文件并直接保存它。任何帮助都是非常值得赞赏的。我不能继续重新上传整个zip以测试小的变化,因为这是很多工作并消耗了大量的时间.TIA
答案 0 :(得分:1)
我理解挫折感,但是压缩和重新上传代码或多或少是实现此目的的唯一方法。幸运的是,AWS Command Line Interface exists solely for this reason。
如果您的计算机上有CLI,则根据您的开发环境,您可以简单地将压缩和lambda更新放入脚本中。在基于unix的系统上,它可能如下所示:
zip -r my-lambda-code.zip ./my-lambda-directory
aws lambda update-function-code \
--function-name my-lambda-function \
--zip-file fileb://path/to/my-lambda-code.zip
然后,无论何时进行代码更改,只需运行新脚本并观察魔法发生!
答案 1 :(得分:0)
我会在AWS存储桶上进行zip编辑。会是这样的:
定义一个名为update_files的辅助lambda,使其使用python zip库,并有效地运行以下命令:
zip -r mylambda.zip *
上的s3://buckets/uploadfolder
(mylambda.zip也位于存储桶中)。然后,您可以准备一个脚本来同步该文件夹,运行update_files并将zip文件上传到lambda。
这样,您所需要做的就是更新文件夹中的文件,甚至可以上传单个文件(在大多数情况下是需要的)。
当然,您应该在所有这些方面(s3权限,您的权限等)中考虑安全性。