Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何快速部署到AWS Lambda,替代手动上载?_Amazon Web Services_Amazon S3_Aws Lambda - Fatal编程技术网

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

Amazon web services 如何快速部署到AWS Lambda,替代手动上载?,amazon-web-services,amazon-s3,aws-lambda,Amazon Web Services,Amazon S3,Aws Lambda,我正在开始写Alexa技巧。我的技能要求上传一个.ZIP文件,因为它包含存储在node_modules文件夹中的alexa sdk依赖项 有没有更有效的方法从本地机器上传新版本的Lambda函数和文件,而无需反复压缩和手动上传相同的文件?有些类似于git push或通过终端使用单个命令进行部署的其他方式?您可以使用CLI命令 请注意,他的操作只能用于现有Lambda函数,不能用于更新函数配置。为了补充Khalid的答案,我最近创建了这个基本的批处理脚本,以简化特定Lambda函数的部署。此示例适

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

有没有更有效的方法从本地机器上传新版本的Lambda函数和文件,而无需反复压缩和手动上传相同的文件?有些类似于git push或通过终端使用单个命令进行部署的其他方式?

您可以使用CLI命令


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

为了补充Khalid的答案,我最近创建了这个基本的批处理脚本,以简化特定Lambda函数的部署。此示例适用于NodeJS Lambda函数,其依赖项位于
node\u modules
文件夹中

先决条件: 安装了7zip。发现

如前所述,在CMD中可用(在系统路径变量上可用)

使用有权上载到aws Lambda的有效凭据设置本地aws cli

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
我对bash的一句台词:

zip -u f.zip f.py; aws lambda update-function-code --zip-file fileb://f.zip --function-name f

我建议查看Apex框架。