, Но это все еще требует, чтобы я запустил тф дважды.

я успешно установлена ​​AWS Lambda с Terraform:

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"
    }
  }
}

Теперь, когда я бегуterraform plan Команда говорит, что мой лямбда-ресурс должен быть обновлен, потому чтоsource_code_hash изменился, но я не обновил лямбда-код 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"

Я предполагаю, что это потому, что он сжимает мои источники Python каждый раз, и источник изменяется Как я могу избежать этого, если нет изменений в коде Python? Является ли моя гипотеза последовательной, если я не изменил кодовую базу Python (я имею в виду, почему тогда изменяется хэш)?

Ответы на вопрос(2)

Ваш ответ на вопрос