新版AWS更新(全量Lambda状态扩展)下如何使用Eclipse Toolkit
问题根因
本次AWS推送的Lambda状态扩展功能,新增了函数更新的生命周期管理:发起函数更新请求后,函数会先进入Pending状态,直到更新完全生效才会变为Active,这期间发起的任何修改函数请求都会返回ResourceConflictException(409状态码)错误。
你当前使用的AWS Toolkit for Eclipse版本未适配该机制,其内置的上传逻辑会在上传代码后立刻串行发起后续配置修改、版本发布等请求,没有等待上一步更新完全完成,因此开启opt-in后会触发冲突报错。
12月6日正式生效后的影响
如果不做任何适配,12月6日更新全量推送后,你会遇到和当前开启opt-in完全一致的问题:已上线的函数本身运行不受影响,但无法再通过当前版本的Eclipse AWS Toolkit完成函数更新上传。
解决方案
- 方案1(最推荐):升级AWS Toolkit for Eclipse到最新适配版本
AWS官方已经在新版Toolkit中修复了该问题,新增了Lambda状态等待逻辑,升级插件后即可恢复原有上传流程正常使用。 - 方案2(过渡方案):使用其他上传方式
可暂时通过AWS CLI、Lambda控制台手动上传部署包,AWS CLI更新函数代码参考命令如下:
aws lambda update-function-code --function-name <你的函数名称> --zip-file fileb://<本地jar包路径>
- 方案3(临时应急):旧版本Toolkit上传失败后重试
如果暂时无法升级插件,上传触发409报错后,等待3-5秒再次发起上传请求即可,此时前一次更新已完成,函数状态回到Active可正常接受修改请求。
内容的提问来源于stack exchange,提问作者mastercooler6
相关产品推荐
相关产品推荐

