#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