У меня проблема с созданием двух лямбда-функций. Моя функция «controller» разворачивается без проблем, но моя функция «chunker» выдает ошибку «Ошибка: в среде ожидается хотя бы одно поле»
Обе функции почти идентичны, с разными zip-файлами и переменными среды.
function_name = format("ancb-chunker-%s",var.env)
s3_bucket = aws_s3_bucket.ancb["lambda"].id
s3_key = var.lambda_zip_chunker
handler = "handler.chunker"
runtime = "nodejs8.10"
role = aws_iam_role.lambda_exec.arn
environment {
variables = {
TEST = "yes"
ORIGINAL_BUCKET = aws_s3_bucket.ancb["original"].id
TO_PROCESS_BUCKET = aws_s3_bucket.ancb["to-process-prod"].id
ENVIRONMENT = var.env
CHUNK_SIZE = 5000
}
}
tags = {
Environment = var.env
Terraform = true
}
}
resource "aws_lambda_function" "ancb_controller" {
function_name = format("ancb-controller-%s",var.env)
s3_bucket = aws_s3_bucket.ancb["lambda"].id
s3_key = var.lambda_zip_controller
handler = "handler.controller"
runtime = "nodejs8.10"
role = aws_iam_role.lambda_exec.arn
environment {
variables = {
DESTINATION_BUCKET = aws_s3_bucket.ancb["destination"].id
ENVIRONMENT = var.env
ERROR_BUCKET = aws_s3_bucket.ancb["error"].id
GEOCODIO_APIKEY = <removed>
GEOCODIO_ENDPOINT = <removed>
GEOCODIO_VERSION = "v1.3"
ORIGINAL_BUCKET = aws_s3_bucket.ancb["original"].id
SOURCE_BUCKET = aws_s3_bucket.ancb["source"].id
TO_PROCESS_BUCKET = aws_s3_bucket.ancb["to-process"].id
WORKING_BUCKET = aws_s3_bucket.ancb["working"].id
}
}
tags = {
Environment = var.env
Terraform = true
}
}
Вот полученная ошибка:
Error: At least one field is expected inside environment
on .terraform/modules/ancb/services/ancb/main.tf line 29, in resource "aws_lambda_function" "ancb_chunker":
29: resource "aws_lambda_function" "ancb_chunker" {
Я ожидаю, что код будет работать для обоих, но в моем тестировании переменные окружения, которые я установил для "chunker", не работают,Если я добавлю переменные среды для «controller» в переменные «chunker», я смогу создать функцию без проблем ...