在 terraform 中将 2 个 python 文件添加到 lambda_zip [重复]
Posted
技术标签:
【中文标题】在 terraform 中将 2 个 python 文件添加到 lambda_zip [重复]【英文标题】:add 2 python files to lambda_zip in terraform [duplicate] 【发布时间】:2021-12-30 14:32:12 【问题描述】:我使用 Terraform 创建了一个 lambda 函数。要压缩 python 文件,我使用这个:
data "archive_file" "get_incoming_lambda_zip"
type = "zip"
source_file = "$path.module/src/lbd_get_incoming.py"
output_file_mode = "0666"
output_path = "$path.module/bin/lbd_get_incoming.zip"
以前,我使用的是在lbd_get_incoming.py
文件中定义的函数。不过,现在我已经把函数移到了common/utils.py
。
为了能够在我的 lambda 函数中使用from common.utils import lyfunction
,我需要将common.utils
("$path.module/src/common/utils.py"
) 文件与压缩版本中的lbd_get_incoming.py
文件一起导出。
实现此目的的正确语法是什么?如果我
【问题讨论】:
请不要一直问同一个问题,尤其是当您提出的现有问题有答案以及指向清楚说明如何使用 Terraform 的此功能的基本文档的链接时。 【参考方案1】:使用source_dir
而不是source_file
来指向存储这两个文件的目录(并且以正确的目录结构相互对应)。
如果你的两个文件来自不同的地方,你需要先把它们放在一起,然后将 Terraform 的archive_file
指向它们。
【讨论】:
我的源文件在这里"$path.module/src/lbd_get_incoming.py"
和 utils 文件在这里:"$path.module/src/common/utils.py"
。如果我将 source_file 更改为source_dir
,那么我应该写什么作为路径:$path.module/src
?那我将如何指定原始 lambda 代码文件/函数在哪里(lbd_get_incoming.py
file)
ZIP 只需要包含所有文件。您为 aws_lambda_function
指定的函数的入口点是什么。
$path.module/src
因为source_dir
对我来说很有意义。以上是关于在 terraform 中将 2 个 python 文件添加到 lambda_zip [重复]的主要内容,如果未能解决你的问题,请参考以下文章
你可以在 Terraform 中将块作为变量传递,引用资源嵌套块内容的类型吗?
在 Terraform 中将 SSL 证书附加到 Azure 应用程序网关