【问题标题】:DevOps : AWS Lambda .zip with Terraform开发运营:AWS Lambda .zip 与 Terraform
【发布时间】: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


【解决方案1】:

伙计们,我担心我在这里可能有点不知所措 - terraform 和 DevOps 的新手!
我与我们的(更多)技术人员谈了话,他们已经对此进行了排序。

如果失败,我认为你的原因是因为 Tar Terraform 步骤 需要使用不同的命令行,以便获取包含的 zip 文件 进入文物。 tar -cvpf terraform.tar .terraform .tf tfplan tar --recursion -cvpf terraform.tar --exclude='/.git' --exclude='.gitignore' .

.. 这对你来说意味着什么! 不管他们做什么,它都有效!

由于对此有赏金,我仍然会分配它,因为我很感谢您的输入! 对不起,如果这是一个新手错误。

【讨论】:

    【解决方案2】:

    您可以尝试使用 terraform AWS lambda 构建模块构建您的程序包。因为它对进程非常有用Terraform Lambda build module

    【讨论】:

      【解决方案3】:

      根据文档示例,source_code_hash 参数中,filebase64sha256 ("get_resources.zip") 需要用双引号括起来。

      详情可以参考这个document

      【讨论】:

      • 休,谢谢你的提示。这似乎在最新的 vsn 中发生了变化:警告:仅插值表达式在 main.tf 第 141 行,资源“aws_lambda_function”“meta_lambda”:141:source_code_hash =“${filebase64sha256("get_resources.zip")} " Terraform 0.11 及更早版本要求通过插值语法提供所有非常量表达式,但现在已弃用此模式。要消除此警告,请删除此表达式开头的“${ 序列和末尾的 }”序列,只留下内部表达式。
      • 同意 ydaetskcoR ,可以列出运行前是否包含的zip文件的目录。
      猜你喜欢
      • 1970-01-01
      • 2019-11-04
      • 2020-02-13
      • 2018-10-25
      • 2022-12-21
      • 2019-02-26
      • 2021-05-15
      • 2017-11-01
      • 2022-01-10
      相关资源
      最近更新 更多