我有一系列 lambda 函数,它们使用一些特定于我的环境的常见 util 函数。这些 lambda 是用 python 编写的,典型的文件夹结构如下所示
src/
lambda_fn1_dir/filename1.py
/filename2.py
lambda_fn2_dir/filenameA.py
/filenameB.py
codelib/helpder_util_fn.py
我将 helper_util_fn 导入到我的 lambda 函数中并运行 lambda。使用 Terraform 部署功能。定义 archive_file 以指向 aws_lambda_function 资源中的源定义的最佳方法是什么,这样我也可以将 codelib 打包到 zip 文件中。
我可以将
archive_file
资源与 source_path
一起使用,如此处所述。如果我更倾向于仅在目录级别进行分组,我可以使用 source_dir
属性吗?如何在 terraform 中处理这种情况。
是的,您可以,但此用例最适合 AWS Lambda 层:https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html
您可以使用所有辅助文件创建一个图层,并使用 terraform archive_file 将它们打包。