I have a lambda that transfer data from source s3 bucket to destination s3 bucket.
There is a process that pushes message into source s3 bucket. This process sends a notification via SNS after data is pushed to source s3 bucket. A third party verification lambda is triggered once data is pushed into source bucket which validates the data pushed into source bucket. This process can take anywhere between 5-30 mins to complete.
My lambda should transfer data from source to destination only after the validation is completed by third party app. They have exposed an api which I can use to determine if validation is complete. Once my lambda receives the message from the topic , it will call the external api if validation is complete. If the validation is not complete , I want to retry after 5 minutes.
Can I push the message back into SNS topic and introduce a delay of 5 mins after which it can trigger my lambda again? If this is not possible are there any aws patterns available which can help achieve this without additional coding (and still use lambda for data transfer)?