Лямбда-переменная среды из AWS SSM

#amazon-web-services #aws-lambda #terraform #aws-ssm

#amazon-веб-сервисы #aws-lambda #terraform #aws-ssm

Вопрос:

Я хочу сохранить URL-адрес webhook в хранилище параметров AWS SSM и передать значение в лямбда-переменную среды с помощью terraform. Когда я запускал terraform, переменная среды lambdas не получала значение из хранилища параметров SSM.Есть идеи, возможно ли это с помощью terraform без обновления лямбда-кода?

Lambda Env Variable :

WEBHOOK_URL :

 data.aws_ssm_parameter.ecr_scan_notify_ssm.value
 

Конфигурация:

 resource "aws_ssm_parameter" "ecr_scan_notify_ssm" {
    name      = "ecr_scan_notify_ssm"
    type      = "SecureString"
    value     = "not defined here"
    overwrite = false
    lifecycle {
        ignore_changes = [value,]
        }
    }

data "aws_ssm_parameter" "ecr_scan_notify_ssm" {
  name      = "ecr_scan_notify_ssm"
}

environment {
   variables = {
   WEBHOOK_URL = "data.aws_ssm_parameter.ecr_scan_notify_ssm.value"
   CHANNEL     = "test-scan"
  }
}
 

Ответ №1:

Вы просто передаете жестко запрограммированную строку "data.aws_ssm_parameter.ecr_scan_notify_ssm.value" . Здесь не происходит поиска. Вам либо нужно использовать синтаксис интерполяции строк:

WEBHOOK_URL = "${data.aws_ssm_parameter.ecr_scan_notify_ssm.value}"

Или просто ссылайтесь на значение напрямую:

WEBHOOK_URL = data.aws_ssm_parameter.ecr_scan_notify_ssm.value