相关疑难解决方法(0)

Terraform Lambda source_code_hash使用相同的代码更新

我已经使用Terraform成功部署了一个AWS Lambda:

resource "aws_lambda_function" "lambda" {
  filename                       = "dist/subscriber-lambda.zip"
  function_name                  = "test_get-code"
  role                           = <my_role>
  handler                        = "main.handler"
  timeout                        = 14
  reserved_concurrent_executions = 50
  memory_size                    = 128
  runtime                        = "python3.6"
  tags                           = <my map of tags>
  source_code_hash               = "${base64sha256(file("../modules/lambda/lambda-code/main.py"))}"
  kms_key_arn                    = <my_kms_arn>
  vpc_config {
    subnet_ids         = <my_list_of_private_subnets>
    security_group_ids = <my_list_of_security_groups>
  }
  environment {
    variables = {
      environment = "dev"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我运行terraform plan命令时,它说我的lambda资源需要更新,因为source_code_hash已经更改了,但是我没有更新lambda Python代码库(在相同仓库的文件夹中版本化):

  ~ module.app.module.lambda.aws_lambda_function.lambda
  last_modified:                     "2018-10-05T07:10:35.323+0000" => <computed>
  source_code_hash:                  "jd6U44lfe4124vR0VtyGiz45HFzDHCH7+yTBjvr400s=" => "JJIv/AQoPvpGIg01Ze/YRsteErqR0S6JsqKDNShz1w78"
Run Code Online (Sandbox Code Playgroud)

我想这是因为它每次都会压缩我的Python源,并且源会更改。如果Python代码没有变化,如何避免这种情况?如果我不更改Python代码库,我的假设是否连贯(我的意思是,为什么哈希会发生变化)?

aws-lambda terraform

5
推荐指数
3
解决办法
3520
查看次数

标签 统计

aws-lambda ×1

terraform ×1