Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

558
Views
Marco sin servidor, ¿cómo crear una cola de DeadLetter de AWS SQS?

Estoy tratando de crear una cola de mensajes fallidos de AWS SQS, utilizando el marco sin servidor
La idea es tener un SQS para activar una función Lambda,
y tener otro SQS como DeadLetterQueue, es decir. para recoger el mensaje en caso de que Lambda falle o supere el tiempo de espera

Hice lo siguiente para crear un proyecto de prueba:

 mkdir dlq cd dlq/ serverless create --template aws-nodejs

Lo siguiente es mi serverless.yaml -

 service: dlq provider: name: aws runtime: nodejs12.x region: ap-southeast-1 role: arn:aws:iam::xxxx:role/dlqLambdaRole plugins: - serverless-plugin-lambda-dead-letter functions: dlq: handler: handler.hello events: - sqs: arn: Fn::GetAtt: - MainQueue - Arn deadLetter: targetArn: GetResourceArn: DeadLetterQueue resources: Resources: MainQueue: Type: AWS::SQS::Queue Properties: QueueName: main DeadLetterQueue: Type: AWS::SQS::Queue Properties: QueueName: dlq

También probé lo siguiente:

 service: dlq provider: name: aws runtime: nodejs12.x region: ap-southeast-1 role: arn:aws:iam::xxxx:role/dlqLambdaRole plugins: - serverless-plugin-lambda-dead-letter functions: dlq: handler: handler.hello events: - sqs: arn: Fn::GetAtt: - MainQueue - Arn deadLetter: sqs: dlq resources: Resources: MainQueue: Type: AWS::SQS::Queue Properties: QueueName: main

Pero en ambos casos, el marco solo está creando un SQS normal

Estoy siguiendo este documento -
https://www.serverless.com/plugins/serverless-plugin-lambda-dead-letter

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Mejor tarde que nunca. Espero que esto te ayude a ti o a alguien que esté buscando este problema.

Cuando configura SQS para activar Lambda, se supone que DLQ debe configurarse en SQS (ya que no sería una invocación asincrónica). Observe la sección 'Nota' en el enlace Fuente

Por lo tanto, su serverless.yaml debe declarar ReddrivePolicy en la cola principal para hacer referencia a la DLQ. (Abajo)

 service: dlq provider: name: aws runtime: nodejs12.x region: ap-southeast-1 role: arn:aws:iam::xxxx:role/dlqLambdaRole functions: dlq: handler: handler.hello events: - sqs: arn: Fn::GetAtt: - MainQueue - Arn deadLetter: targetArn: GetResourceArn: DeadLetterQueue resources: Resources: MainQueue: Type: AWS::SQS::Queue Properties: QueueName: main RedrivePolicy: deadLetterTargetArn: Fn::GetAtt: - "DeadLetterQueue" - "Arn" maxReceiveCount: 5 DeadLetterQueue: Type: AWS::SQS::Queue Properties: QueueName: dlq

maxReceiveCount se establece en 5 según la documentación de AWS.

over 4 years ago · Santiago Trujillo Report

0

Para brindarle algunos antecedentes, Dead Letter Queue es solo eso, una cola SQS normal. es la configuración en AWS Lambda la que le informa que envíe un mensaje a esta cola siempre que haya algún error al procesar el mensaje.

Puede verificar esto desde la consola de administración consultando el "Servicio de cola de mensajes fallidos" en "Invocación asíncrona"

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!