#aws-lambda #terraform #terraform-provider-aws
#aws-lambda #terraform #terraform-provider-aws
Вопрос:
Я создаю лямбда-функцию с использованием terraform в соответствии с синтаксисом terraform лямбда-код должен быть передан в виде zip-файла. Аналогичным образом я передаю блок ресурсов, и он также создается без каких-либо проблем. Но когда я пытаюсь обновить лямбда-код с помощью terraform при следующем запуске, он не обновляется. Ниже приведен блок для справки.
data "archive_file" "stop_ec2" {
type = "zip"
source_file = "src_dir/stop_ec2.py"
output_path = "dest_dir/stop_ec2_upload.zip"
}
resource "aws_lambda_function" "stop_ec2" {
function_name = "stopEC2"
handler = "stop_ec2.handler"
runtime = "python3.6"
filename = "dest_dir/stop_ec2_upload.zip"
role = "..."
}
Нужна помощь для решения этой проблемы.
Комментарии:
1. Вы имеете в виду, что вы изменяете
stop_ec2.py
и повторно применяете свой terraform?
Ответ №1:
Установите аргумент source_code_hash, чтобы Terraform обновлял лямбда-функцию при изменении лямбда-кода.
resource "aws_lambda_function" "stop_ec2" {
source_code_hash = filebase64sha256("dest_dir/stop_ec2_upload.zip")
Комментарии:
1. Я столкнулся с ситуацией, когда это не работает. 1.0.6.