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

516
Vistas
Activación de varias funciones lambda desde un activador SQS

No estoy seguro de entender correctamente los desencadenadores de AWS Lambda - SQS. ¿Puedo configurarlo de tal manera que una cola SQS pueda activar diferentes funciones lambda según el cuerpo del mensaje o un atributo del mensaje?

Mi caso de uso: tengo tres funciones lambda diferentes (processCricket, processFootball, processTennis), cada una de las cuales realiza una función única. Tengo una sola cola (processGame) que recibe mensajes. Cada mensaje en la cola tiene un atributo "tipo" que es "Cricket", "Fútbol" o "Tenis". ¿Puedo invocar una función lambda diferente según el "tipo" del mensaje?

Opción 1: configurar SQS para activar una función lambda diferente según el tipo (no estoy seguro de poder hacer esto)

Opción 2: configurar una función lambda que pueda verificar el tipo y luego llamar a las otras funciones lambda según su tipo

Opción 3: Cree colas separadas para cada lambda. Controle qué lambda procesa el mensaje agregando el mensaje a la cola adecuada.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Opción 1: configurar SQS para activar una función lambda diferente según el tipo

No puede saber sobre el type hasta que sea consumido por la lambda. Así que este no es posible.

Opción 2: configurar una función lambda que pueda verificar el tipo y luego llamar a las otras funciones lambda según su tipo

Sí, es la forma "posible" de primera opción. pero puede costar "más" dependiendo de su uso. Cuando consume los sqs en modo por lotes, debe invocar varias lambdas realizando varias comprobaciones.

Opción 3: Cree colas separadas para cada lambda. Controle qué lambda procesa el mensaje agregando el mensaje a la cola adecuada.

En mi opinión, esta podría ser la mejor opción. Puede configurar diferentes DLQ para cada cola, establecer diferentes tamaños de lote según sus reglas comerciales, sin necesidad de lambda adicional para aumentar la "complejidad".

over 4 years ago · Santiago Trujillo Denunciar

0

No debe configurar varias funciones de Lambda como disparadores para una sola cola de SQS. Esto se debe a que el mensaje en SQS se entregará a cualquier consumidor y, mientras ese consumidor procesa este mensaje, no será visible para los demás. Por lo tanto, no podrá decidir qué "tipo" de mensaje va a qué función, por lo que la opción 1 no es válida.

Tanto la opción 2 como la 3 deberían funcionar bien. Seleccionaría la opción 2 si no espera que se entreguen muchos mensajes a su cola, por lo que no tendrá que preocuparse por el escalado de Lambda . También tenga en cuenta que se pueden enviar varios mensajes en un solo lote al disparador de Lambda, por lo que deberá implementar su lógica en consecuencia.

Si espera una gran cantidad de mensajes, la opción 3 sería más adecuada.

over 4 years ago · Santiago Trujillo Denunciar

0

Su mejor opción aquí sería no enviar los mensajes directamente a la cola. Puede utilizar SNS o EventBridge como destino del mensaje. Entonces deberías tener una cola para cada tipo de mensaje. Luego puede suscribir cada cola a la fuente (SNS o EventBridge) y recibir solo los mensajes que tengan sentido para esa cola. Con EventBridge puede realizar una buena cantidad de filtrado en toda la carga útil. Para SNS, debe agregar el tipo a los atributos para que pueda usarse para filtrar.

ingrese la descripción de la imagen aquí

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