1
votes

Several different questions have been asked on how to subscribe an SQS FIFO queue to an SNS topic and their answers were "it's impossible" or, more recently, "it's now possible using an SNS FIFO topic".

This question is a bit more specific in its premises:

  • Using an SNS FIFO topic is not a viable option, it has to be a "standard" topic
  • Using a "standard" SQS queue is not a viable option, it has to be a FIFO queue

As of time of writing, AWS does not support a direct subscription.

How to achieve it in the next best way possible? Using an AWS Lambda? EventBridge?

1
A standard topic does not guarantee order or deduplication when delivering to a FIFO queue. This is true across multiple queues subscribed to the same topic, they might receive messages with different ordering. So what are you looking for when you subscribe a FIFO queue to a standard topic?Ala' Alkhaldi
@Ala'Alkhaldi One team publishes messages to SNS and is agreed upon that order is not relevant. Another team uses an SQS FIFO queue not because order is particularly relevant, but because processing is costly so they use it for message deduplication. For the moment, the second team is unable to receive events from the first team.villasv

1 Answers

1
votes

As you said, this is currently not possible through direct subscription. A work around to achieve that is to subscribe a lambda to the standard topic and have that lambda sending to the FIFO Queue. It's not ideal since it adds an extra hop, but it does unblock your use-case