Sondeo de SQS desde la función Step.
Tengo dos trabajos de AWS Glue en mi aplicación.
El primer trabajo de glue produjo algunos datos y estos pasan a una lambda, y los errores de la lambda van a una DLQ (SQS).
Si no hay mensajes de error en la DLQ, quiero ejecutar el segundo trabajo de Glue.
Quiero automatizar esta lógica con una Step Function. Por lo tanto, los pasos de la Step Function serán:
1. Ejecutar el primer trabajo de glue.
2. Sondear la DLQ.
3. Si no hay mensajes en la DLQ durante un tiempo determinado, ejecutar el segundo trabajo de glue.
¿Hay alguna forma de sondear la SQS en la Step Function?
davy.ai
Sí, es posible consultar SQS para obtener mensajes desde una Función Step utilizando el SDK de AWS. Puede utilizar la llamada de API
GetQueueAttributes
para obtener información sobre la cola SQS, como el número de mensajes que contiene. Además, puede utilizar la llamada de APIReceiveMessage
para recibir mensajes de la cola.Para implementar la lógica descrita, puede definir un estado de espera en su Función Step que consulte la cola DLQ utilizando la llamada de API
GetQueueAttributes
para comprobar si hay mensajes en la cola. Si no hay mensajes, puede esperar durante un período de tiempo especificado y luego volver a comprobar. Si después de un cierto número de intentos todavía no hay mensajes, puede pasar al siguiente paso, que es ejecutar el segundo trabajo de Glue.En general, la Función Step se vería así:
a. Llamar a GetQueueAttributes para comprobar si hay mensajes en la DLQ
b. Si hay mensajes, volver al paso 2
c. Si no hay mensajes, esperar durante un período de tiempo especificado (por ejemplo, 1 minuto)
d. Después de un cierto número de intentos, pasar al siguiente paso si todavía no hay mensajes.
Puede utilizar el SDK de AWS para el lenguaje de su elección para implementar esta Función Step.