我一直在尝试使用 AWS CLI 部署 lambda 函数。以下是我正在使用的命令,zip 文件大约为 5MB。
aws lambda update-function-code --function-name <function arn> --zip-file fileb://Lambda-Deployment.zip
我收到以下错误:
('Connection aborted.', timeout('The write operation timed out',))
然后,我添加
--cli-connect-timeout 10000
到上面的命令并再试一次,这次它似乎起作用了,我得到的输出好像它起作用了。我检查了 Lambda 控制台中的函数列表,它显示它最近被修改过,代码大小为 5.1MB。现在,奇怪的部分是,当我单击 Lambda 控制台中的函数时,函数代码部分中的所有代码都消失了。那里什么都没有。我只得到一个空白部分。上传
zip
后,我等了将近一个小时文件,没有任何显示。我也试过手动上传
zip
Lambda 控制台中的文件,我遇到了同样的问题。代码消失。我还有其他 Lambda 函数,它们具有较小的 zip 文件,约 1.5MB,上传时它们都可以正常工作。
任何帮助将不胜感激。
最佳答案
对于较大的包,您需要先上传到 S3 存储桶,然后从 S3 更新 Lambda。有时,甚至可能是由于上传时互联网连接不良。如果您使用 S3,它将起作用。以下是您需要的命令:
上传到 S3:
aws s3 cp Lambda-Deployment.zip s3://your-bucket-name
创建 lambda 函数(第一次时):
aws lambda create-function \
--function-name <function name or arn> \
--runtime <runtime> \
--role <role arn> \
--handler <handle> \
--code S3Bucket=your-bucket-name,S3Key=Lambda-Deployment.zip
更新功能代码:
aws lambda update-function-code \
--function-name <function name or arn> \
--s3-bucket your-bucket-name \
--s3-key Lambda-Deployment.zip
您还可以阅读上述所有命令的帮助
aws s3 help
aws lambda create-function help
aws lambda update-function-code help
关于amazon-web-services - lambda 更新函数代码中的写操作超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347520/