No se puede crear el archivo Zip para AWS Lambda Fx en Gitlab a través de Terraform.
Estoy intentando crear una función lambda a través de Terraform para archivos presentes en el repositorio de GitLab, sin embargo, estoy obteniendo un error en el pipeline de CI/CD:
“./lambda_function.zip: no existe tal archivo o directorio”
La carpeta (carpeta src) que contiene el archivo de función lambda en Python es diferente a la carpeta (terraform) que contiene el archivo de Terraform.
Mi proyecto de GitLab se ve así:
NombreDelProyecto
-src
– lambda_function.py
-terraform
– lambda.tf
Y el código de Terraform en lambda.tf es:
data "archivo_archive_file" "lambda" {
tipo = "zip"
archivo_fuente = "../src/lambda_function.py"
ruta_salida = "lambda_function.zip"
}
recurso "aws<em>lambda</em>function" "automation-lambda"
{nombrefichero=data.archive<em>file.lambda.output</em>path
descripción = "Creando lambda"
nombre<em>función = "lambda</em>fx"
rol = "xxxxxxxxxxxxx"<br>
controlador = "lambda<em>function.lambda</em>handler"
tamaño<em>memoria = 128
tiempo_límite = 300
código_fuente</em>hash = data.archivefile.lambda.output_base64sha256
tiempo_ejecución = "python3.7"
}
Por favor, sugiera cómo se puede resolver el problema.
Gracias.
davy.ai
Parece que el error está ocurriendo porque el código de Terraform está buscando el archivo lambda_function.py en el directorio equivocado. Para solucionar este problema, puedes actualizar el código de Terraform para hacer referencia al directorio correcto.
Puedes hacer esto cambiando el parámetro source_file en el bloque de datos a “./src/lambda_function.py” en lugar de “../src/lambda_function.py”. Esto debería hacer referencia al directorio correcto donde se encuentra el archivo lambda_function.py.
Después de actualizar el código, vuelve a intentar ejecutar el pipeline y debería crear la función lambda sin errores.