/ / Invoque Lambda cuando se envía un mensaje SQS: amazon-web-services, aws-lambda, amazon-sqs, amazon-cloudwatch

Invoque Lambda cuando se envía un mensaje SQS: amazon-web-services, aws-lambda, amazon-sqs, amazon-cloudwatch

Me gustaría invocar un lambda cada vez que se envía un mensaje SQS. He intentado configurar la regla de un evento Cloudwatch con el siguiente patrón:

{
"source": [
"aws.sqs"
]
}

Desafortunadamente, la lambda nunca se invoca. Ya me he asegurado de que el rol de la lambda tenga la política de SQS. ¿Cómo puedo lograr eso?

Respuestas

7 para la respuesta № 1

CloudWatch Events solo se puede utilizar para capturar eventos de Servicios que generan eventos..

SQS no genera eventos.

La forma más sencilla de lograr lo que buscas.for es crear un tema SNS y suscribir tanto la cola SQS como la función Lambda al tema. Luego, en lugar de enviar mensajes a la cola directamente, publica el mensaje sobre el tema, y ​​SNS lo coloca en la cola e invoca a Lambda.

http://docs.aws.amazon.com/sns/latest/dg/SNS_Scenarios.html#SNSFanoutScenario


0 para la respuesta № 2

AWS ha introducido recientemente SQS como activador para Lambda, que puede invocarse automáticamente para mensajes en SQS.