Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

224
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda