Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

178
Visualizações
AWS Lambda no espera a que se cargue el código en el depósito de S3 en el script de Terraform

Tengo la siguiente configuración de AWS Terraform:

 # S3 bucket for Lambda code upload resource "aws_s3_bucket" "ada-upload" { bucket = "ada-upload" acl = "private" } # uploading zipped lambda code to S3 resource "aws_s3_bucket_object" "lambda_code_upload" { bucket = aws_s3_bucket.ada-upload.bucket key = "dist.zip" source = "dist.zip" etag = filemd5("dist.zip") } # creating lambda function resource "aws_lambda_function" "ada-lambda-function" { function_name = "ada-lambda-function" s3_bucket = aws_s3_bucket.ada-upload.bucket s3_key = "dist.zip" memory_size = 1024 timeout = 900 runtime = "provided" source_code_hash = base64sha256("dist.zip") }

Básicamente, crea un depósito S3, carga el código allí y luego crea un Lambda a partir de ese código. El código es una aplicación .NET 3.1 independiente, trae su propio tiempo de ejecución, por lo que el Zip es bastante grande, lleva algo de tiempo cargarlo. Lambda esperará a que se cree el depósito S3, pero no esperará a que el código termine de cargarse. Entonces, cuando ejecuto el script inicialmente, obtendré S3 key "dist.zip" doesn't exist . Cuando vuelvo a ejecutar el script, dado que el zip ya está allí, la función se creó correctamente.

¿Hay alguna manera de garantizar que Lambda comience a crear solo cuando el código termine de cargarse?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Descargo de responsabilidad: la respuesta de @ydaetskcoR es correcta y debe aceptarla. Sin embargo, otro enfoque sería modificar la función lambda de la siguiente manera:

 resource "aws_lambda_function" "ada-lambda-function" { function_name = "ada-lambda-function" s3_bucket = aws_s3_bucket.ada-upload.bucket s3_key = "dist.zip" memory_size = 1024 timeout = 900 runtime = "provided" source_code_hash = base64sha256("dist.zip") depends_on = [ aws_s3_bucket_object.lambda_code_upload, ] }

Esto obligará a terraform a esperar primero a que el objeto se cargue en el depósito antes de iniciar la lambda.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda