写操作在lambda update-function-code中超时

J.T*_*cia 6 amazon-web-services aws-lambda

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

aws lambda update-function-code --function-name <function arn> --zip-file fileb://Lambda-Deployment.zip
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

(“连接已中止。”,超时(“写入操作超时”,))

然后,我添加--cli-connect-timeout 10000到上面的命令并再次尝试,这一次它似乎已经起作用了,我得到的输出就好像它起作用了一样。我检查了Lambda控制台中的功能列表,它显示它最近一次被修改,并且代码大小为5.1MB。

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

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

我还有其他Lambda函数,这些函数具有较小的zip文件(约1.5MB),并且在上载时都可以正常工作。

任何帮助将不胜感激。

Ren*_*rro 5

对于较大的软件包,您需要首先上传到S3存储桶,然后从S3更新Lambda。有时,甚至可能是由于上载时互联网连接不良所致。如果使用S3,它将起作用。这是您需要的命令:

上载到S3:

aws s3 cp Lambda-Deployment.zip s3://your-bucket-name
Run Code Online (Sandbox Code Playgroud)

创建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
Run Code Online (Sandbox Code Playgroud)

更新功能代码:

aws lambda update-function-code \
  --function-name <function name or arn> \
  --s3-bucket your-bucket-name \
  --s3-key Lambda-Deployment.zip
Run Code Online (Sandbox Code Playgroud)

您也可以阅读上述所有命令的帮助

aws s3 help
aws lambda create-function help
aws lambda update-function-code help
Run Code Online (Sandbox Code Playgroud)