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

使用Terraform部署AWS Lambda出现PackageType为Zip需设置handler与runtime错误

解决方案

你当前缺少handler参数配置,该参数需要按照Python Lambda的规则填写,具体逻辑如下:

  • Python运行时的Lambda handler格式为:[代码文件所在路径(压缩包内相对路径).]<不带.py后缀的代码文件名>.<入口函数名>
  • 你当前代码里定义的入口函数名为lambda_handler,只需要匹配你压缩包内的Python文件路径和名称即可。

常见配置示例

假设你打包进existing-files-lambda.zip的Python代码文件名为lambda_function.py,且直接放在压缩包根目录,直接在你的aws_lambda_function资源块中新增如下配置即可:

handler = "lambda_function.lambda_handler"

修改后的完整Lambda资源配置参考:

resource "aws_lambda_function" "this" {
  filename      = "${path.module}/src/existing-files-lambda.zip"
  function_name = "ingest-existing-files-lambda"
  role          = aws_iam_role.lambda.arn
  runtime       = "python3.9"
  handler       = "lambda_function.lambda_handler" # 新增的handler配置
  timeout       = 900
  environment {
   variables = {
      source_bucket_arn      = var.source_bucket_arn  
      destination_bucket_arn = var.destination_bucket_arn  
    }
  }
}

特殊情况说明

如果你的Python代码在压缩包内放在子目录下,比如压缩包根目录下有src文件夹,src文件夹内才是lambda_function.py,则handler需要配置为:

handler = "src.lambda_function.lambda_handler"

验证方法:你可以手动解压existing-files-lambda.zip,查看Python代码的相对路径和文件名,对应调整handler参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 22:45:02