es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for 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 API ReceiveMessage 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í:

    1. Ejecutar el primer trabajo de Glue.
    2. Esperar mensajes de DLQ:
      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.
    3. Ejecutar segundo trabajo de Glue.

    Puede utilizar el SDK de AWS para el lenguaje de su elección para implementar esta Función Step.

Comments are closed.