Using AWS Step Functions To Schedule Or Delay SNS Message Publication
with no AWS Lambda function required
A co-worker at Archer asked if there was a way to schedule messages published to an Amazon SNS topic.
I know that scheduling messages to SQS queues is possible to some extent using the DelaySeconds message timer, which allows postponing visibility in the queue up to 15 minutes, but SNS does not currently have native support for delays.
However, since AWS Step Functions has built-in integration with SNS, and since it also has a Wait state that can schedule or delay execution, we can implement a fairly simple Step Functions state machine that puts a delay in front of publishing a message to an SNS topic, without any AWS Lambda code.