amazon-web-services - lambda 更新函数代码中的写操作超时

标签 amazon-web-services aws-lambda

我一直在尝试使用 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/

相关文章:

amazon-web-services - 从 SQS 队列中选择性地读取消息

java - 绑定(bind) aws sqs 区域 Camel

node.js - 使用 Nodejs 重命名文件

amazon-web-services - 如何将 ApiGateway 指向特定的 Lambda 别名

amazon-web-services - AWS API Gateway 缓存 POST 数据

linux - 如何在 AWS Lambda 中使用 cURL 和邮件

amazon-web-services - 带有 Amazon CloudWatch 的 Elastic Beanstalk Docker

amazon-web-services - DynamoDB 和 Lambda 的 Amazon IoT 规则问题

php - 使用 PHP 远程 SSL 连接到 AWS( key 对)

javascript - 从 AWS lambda@edge 访问原始 URL