如何使Terraform archive_file资源获取对源文件的更改?

时间:2016-08-25 23:36:57

标签: aws-lambda terraform

在Win 10机器上使用TF 0.7.2。

我尝试使用新的" archive_file"设置编辑/上传周期,以便在AWS中开发我的lambda函数。 TF 0.7.1中引入的资源

我的配置如下:

resource "archive_file" "cloudwatch-sumo-lambda-archive" {
  source_file = "${var.lambda_src_dir}/cloudwatch/cloudwatchSumologic.js"
  output_path = "${var.lambda_gen_dir}/cloudwatchSumologic.zip"
  type = "zip"
}

resource "aws_lambda_function" "cloudwatch-sumo-lambda" {
  function_name = "cloudwatch-sumo-lambda"
  description = "managed by source project"
  filename = "${archive_file.cloudwatch-sumo-lambda-archive.output_path}"
  source_code_hash = "${archive_file.cloudwatch-sumo-lambda-archive.output_sha}"
  handler = "cloudwatchSumologic.handler"

  ...
}

这是我第一次运行它时 - TF创建lambda zip文件,上传它并在AWS中创建lambda。 问题在于更新lambda。

如果我在上面的例子中编辑了cloudwatchSumologic.js文件,TF似乎并不知道源文件已经改变了 - 它没有将新文件添加到zip文件中,并且没有。 t将新的lambda代码上传到AWS。

我的配置是否出错,或者archive_file资源是不是以这种方式使用?

1 个答案:

答案 0 :(得分:0)

你可能会看到一个错误。我在0.7.7,现在的问题是SHA更改,即使你没有进行更改。 Hashicorp将此资源更新为0.7.8

中的数据源

https://github.com/hashicorp/terraform/pull/8492