【发布时间】:2020-06-12 23:19:57
【问题描述】:
我编写了 Terraform 来在 AWS 中创建一个 Lambda 函数。 这包括指定我压缩的 python 代码。 从命令行运行到我的技术框,一切顺利。 terraform 应用操作将我的 zip 移动到 AWS 并用于创建 lambda。
代码关键部分:
resource "aws_lambda_function" "meta_lambda" {
filename = "get_resources.zip"
source_code_hash = filebase64sha256("get_resources.zip")
.....
现在,要将其引入其他环境,我必须通过 Azure DevOps 推送我的 Terraform。 但是,当我尝试在 DevOps 中构建时,我得到以下信息:
错误:main.tf 第 140 行的函数调用错误,在资源中 “aws_lambda_function”“meta_lambda”:140:source_code_hash = filebase64sha256("get_resources.zip") 调用函数 “filebase64sha256”失败:get_resources.zip 中不存在文件。
我觉得我在这里遗漏了一个关键概念,因为我可以在 repo 中看到 .zip - 所以不明白它是如何在构建中找不到的?
任何关于我做错了什么的提示/线索,非常欢迎。
【问题讨论】:
-
您确定该文件在 Terraform 运行之前就已存在吗?您可以添加一个列出目录的步骤或先运行
tree之类的内容吗? -
ydaetskcoR,您能否发布作为答案,我将应用赏金(请参阅我的答案),即使我通过其他方式找到了解决方案,我感谢您的意见:)
标签: aws-lambda azure-devops terraform