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

223
Visualizações
Bucle infinito de eventos de AWS Lambda S3

Quiero usar eventos S3 para publicar en AWS Lambda cada vez que se carga un archivo de video (.mp4), para que pueda comprimirse. El problema es que la ruta al archivo de video se almacena en RDS, por lo que quiero que la ruta siga siendo la misma después de la compresión. Por lo que he leído, reemplazar el archivo volverá a llamar al evento Object Created que conduce a un bucle infinito.

¿Hay alguna forma de reemplazar el archivo sin desencadenar ningún evento? ¿Cuáles son mis opciones?

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

0

Tienes razón en que no puedes distinguir completamente. De la documentación se admiten los siguientes eventos:

  • s3:ObjectCreated:Put se creó un objeto mediante una operación HTTP PUT.
  • s3:ObjectCreated:Post la operación HTTP POST creó un objeto.
  • s3:ObjectCreated:Copy se creó un objeto en una operación de copia de S3.
  • s3:ObjectCreated:CompleteMultipartUpload se creó un objeto al completar una carga de varias partes de S3.
  • s3:ObjectCreated:* : un objeto fue creado por uno de los tipos de eventos enumerados anteriormente o por un evento de creación de objetos similar agregado en el futuro.
  • s3:ReducedRedundancyObjectLost se ha perdido un objeto de S3 almacenado con Redundancia reducida.

La arquitectura que generalmente vería para este tipo de problema es tener 2 cubos S3

  • 1 S3 Bucket almacena el material de origen sin ninguna modificación, esto desencadenaría el evento Lambda.
  • 1 S3 Bucket almacena el artefacto procesado a partir de la salida comprimida.

Al hacer esto, puede almacenar el original y volver a ejecutarlo si es necesario para la autocorrección.

over 4 years ago · Santiago Trujillo Relatório

0

Hay una solución desagradable a este problema, que no está documentada en ninguna parte.

El parámetro de event en la función Lambda contiene un dict userIdentity que contiene principalId . Para un evento que se originó debido a AWS Lambda (como actualizar el objeto S3 como se menciona en la pregunta), este principalId contiene el nombre de la función lambda adjunta al final.

Por lo tanto, al verificar el principalId se puede deducir si el evento proviene de Lambda o no y, en consecuencia, si se comprime o no.

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