【问题标题】:The write operation timed out in lambda update-function-codelambda update-function-code 中的写操作超时
【发布时间】:2018-01-19 18:35:44
【问题描述】:

我一直在尝试使用 AWS CLI 部署 lambda 函数。以下是我正在使用的命令,压缩文件约为 5MB。

aws lambda update-function-code --function-name <function arn> --zip-file fileb://Lambda-Deployment.zip

我收到以下错误:

('连接中止。', timeout('写操作超时',))

然后,我在上面的命令中添加--cli-connect-timeout 10000 并再次尝试,这次似乎成功了,我得到的输出好像成功了。我查看了 Lambda 控制台中的函数列表,它显示它是最近修改的,代码大小为 5.1MB。

现在,奇怪的是,当我在 Lambda 控制台中单击函数时,函数代码部分中的所有代码都消失了。那里什么都没有。我只是得到一个空白部分。上传 zip 文件后,我等了将近一个小时,但没有任何显示。

我还尝试在 Lambda 控制台中手动上传 zip 文件,但遇到了同样的问题。代码消失。

我还有其他 Lambda 函数,它们的 zip 文件较小,约为 1.5MB,上传时它们都可以正常工作。

任何帮助将不胜感激。

【问题讨论】:

    标签: amazon-web-services aws-lambda


    【解决方案1】:

    对于较大的包,您需要先上传到 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
    

    【讨论】:

      【解决方案2】:

      您也可以使用 AWS SAM 之类的工具,该工具可以自动执行部署到 S3 然后上传到 Lambda 的过程,同时管理无服务器基础架构、本地调试以及与开发人员工具的集成。替代方案包括The Serverless FrameworkAPEX

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-12-05
        • 2014-03-23
        • 2019-01-17
        • 2012-08-30
        • 1970-01-01
        • 2021-01-07
        • 2016-04-21
        相关资源
        最近更新 更多