You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看并编辑以容器镜像部署的AWS Lambda函数代码

查看并编辑容器镜像部署的AWS Lambda函数代码的方法

你收到的提示说明该Lambda采用容器镜像方式部署,代码和运行环境整体打包在AWS ECR存储的容器镜像内,不会直接在控制台/Cloud9中展示,可按以下步骤操作:

No code preview available

Your function code is deployed as a container image. The AWS Cloud9 IDE cannot display your code.

步骤1:拉取对应ECR容器镜像

  • 进入Lambda控制台对应函数详情页,在代码选项卡下找到镜像关联的ECR仓库完整地址,格式为[AWS账号ID].dkr.ecr.[部署区域].amazonaws.com/[仓库名]:[镜像标签]
  • 本地提前安装好Docker和AWS CLI,首先执行命令登录ECR:
aws ecr get-login-password --region [你的部署区域] | docker login --username AWS --password-stdin [你的AWS账号ID].dkr.ecr.[你的部署区域].amazonaws.com
  • 拉取镜像到本地:
docker pull [刚才复制的ECR镜像完整地址]

步骤2:提取镜像内的函数代码

  • 运行临时容器,覆盖默认Lambda入口进入bash交互环境:
docker run -it --entrypoint /bin/bash --name temp-lambda [本地拉取的镜像地址]
  • Lambda容器默认将函数代码存放在/var/task/路径下,进入容器后即可直接查看代码内容
  • 也可以不进入容器,直接将代码批量拷贝到本地目录:
docker cp temp-lambda:/var/task/ ./local-lambda-code
  • 代码提取完成后删除临时容器:
docker rm -f temp-lambda

步骤3:编辑代码后重新发布

  • 修改本地提取的代码后,参考镜像原Dockerfile(如果没有留存可根据运行环境重新编写,需符合Lambda容器镜像规范,内置Lambda运行时接口客户端)重新构建新镜像
  • 给新镜像打ECR标签:
docker tag [本地构建的镜像名]:[版本号] [ECR仓库地址]:[新镜像标签]
  • 推送新镜像到ECR仓库:
docker push [ECR仓库地址]:[新镜像标签]
  • 回到Lambda函数控制台,在代码选项卡选择新推送的镜像版本重新部署即可生效。

补充说明

  • 如果能联系到原开发人员,优先获取原始代码仓库,反解镜像得到的代码可能缺少构建配置、注释等内容
  • 如果镜像内的代码是编译后的二进制文件(Go、Rust等编译型语言开发的Lambda),无法直接编辑修改,必须获取原始源码才能调整逻辑

内容的提问来源于stack exchange,提问作者Aniiya0978

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:09:05