Я экспериментирую с сине-зеленой настройкой развертывания для лямбд, используя terraform и лямбда-псевдонимы.
Я пытаюсь автоматически извлечь ранее развернутую версию лямбды, используя источник данных aws_lambda_function и используя значение в routing_config => Additional_version_weights. Это позволило бы мне настроить разделение трафика между ранее развернутой версией и версией, которая только что была развернута.
Однако я столкнулся с двумя ошибками, которые я не совсем понимаю.
Первая ошибка, когда я пытаюсь использовать источник данных в сочетании с обычной переменной. В этом случае terraform жалуется на неспособность проанализировать значение.
Если я жестко закодирую значение, terraform попытается запустить обновление, однако произойдет сбой, поскольку при попытке установить версию в конфигурации маршрутизации на пустое значение, что приведет к ошибке проверки. Если я вместо этого выведу значение, я вижу, что получена правильная версия.
Пример кода и инструкции по воспроизведению можно найти по ссылке ниже.
https://github.com/jaknor/terraform-lambda-data-source-issue
Кто-нибудь может объяснить, почему это не работает?
Пожалуйста, обратите внимание, хотя я ценю, что есть другие способы достижения моей цели, на данный момент меня интересует только понимание этих конкретных ошибок.