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

Terraform中archive_file打包两个Python文件到Lambda压缩包的正确写法

你之前使用的source_file参数仅支持单个文件打包,要打包多个文件并保留common/utils.py的目录结构保证导入语句正常生效,可以使用以下两种配置方式:

方式1:精准指定需打包的文件(推荐,避免冗余内容)

这种方式只会打包你指定的两个文件,严格控制压缩包内容:

data "archive_file" "get_incoming_lambda_zip" {
  type             = "zip"
  output_file_mode = "0666"
  output_path      = "${path.module}/bin/lbd_get_incoming.zip"

  source = {
    # 入口文件放在压缩包根目录
    "lbd_get_incoming.py" = "${path.module}/src/lbd_get_incoming.py"
    # 保留common目录层级存放工具文件
    "common/utils.py"     = "${path.module}/src/common/utils.py"
  }
}

方式2:指定源码目录打包

如果${path.module}/src目录下只有你需要的Lambda运行相关文件,没有其他冗余内容,可以直接指定源码根目录打包,会自动保留目录结构:

data "archive_file" "get_incoming_lambda_zip" {
  type             = "zip"
  source_dir       = "${path.module}/src"
  output_file_mode = "0666"
  output_path      = "${path.module}/bin/lbd_get_incoming.zip"
  # 可按需配置排除规则,跳过不需要的文件
  excludes = ["**/__pycache__", "**/*.pyc"]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:54:01