Я загружаю AWS Lambda-код в корзину S3 в виде zip-файлов.
У меня объявлен ресурс для объекта корзины S3:
resource "aws_s3_bucket_object" "source-code-object" {
bucket = "${aws_s3_bucket.my-bucket.id}"
key = "source-code.zip"
source = "lambda_source_code/source-code.zip"
etag = "${base64sha256(file("lambda_source_code/source-code.zip"))}"
}
У меня также есть объявление данных длязаархивируйте мой код:
data "archive_file" "source-code-zip" {
type = "zip"
source_file = "${path.module}/lambda_source_code/run.py"
output_path = "${path.module}/lambda_source_code/source-code.zip"
}
Вывод terraform apply
постоянно показывает изменение хеша:
~ aws_s3_bucket_object.source-code-object
etag: "old_hash" => "new_hash"
Даже если ничего в моем исходном коде не изменилось.Почему происходит такое поведение?Я видел похожих постов с постоянно меняющимися исходными кодами Lambdas, но мои Lambdas фактически не обновляются каждый раз (проверено в консоли во время последнего обновления).Тем не менее, похоже, что новый объект-контейнер S3 загружается на каждый apply
.