Build an event‑driven pipeline that streams Postgres change data capture (CDC) events from Sequin to AWS Lambda using either SQS or SNS.
SQS | SNS | |
---|---|---|
Delivery model | Lambda polls queue | SNS pushes message |
Message retention | Up to 14 days + Dead‑Letter Queue | ~24 hours retry window |
Concurrency control | Batch size & queue depth | One invocation per publish |
Fan‑out | One consumer per queue (clone to fan‑out) | Native multi‑subscriber |
Ordering support | FIFO queues | None |
Ideal when | Durable, single consumer | Low‑latency, multi consumer |
Open SQS in AWS Console
Choose queue type
Name & settings
postgres-events.fifo
). Leave defaults unless you need custom retention or DLQ.Copy Queue URL
Create IAM user
Configure user details
sequin-sqs-publisher
) and click “Next”.Add permissions
Create access key
Save credentials
Open "Sinks" in Sequin
Enter queue details
Configure other settings
Save
insert into users(name) values ('test_user');
). (If you had Sequin perform an initial backfill, you can skip this step.)Create the function
cdc‑processor
, and choose your runtime (Node 18 in examples below).Click “Create function”.Add SQS trigger
INSERT INTO users(name) VALUES ('alice');
)./aws/lambda/postgres-processor
and confirm the event appears.sqs:ReceiveMessage
permission, and that any batch‑size or reserved‑concurrency limits aren’t blocking the invocation.
Open SNS in AWS Console
Choose topic type
Name & settings
postgres-events
). Leave defaults unless you need custom message retention.Note the Topic ARN
Create the function
cdc-processor
, and choose your runtime (Node 18 in examples below).Click “Create function”.Set up function code
event.Records[*].Sns.Message
as a string, so you’ll need to parse it as shown above.Add permissions
sns:Receive
and sns:Subscribe
permissions for your topic.Add SNS trigger
Create IAM user
Configure user details
sequin-sns-publisher
) and click “Next”.Add permissions
Create access key
Save credentials
Open Sinks in Sequin
Enter topic details
Configure other settings
Save
insert into users(name) values ('alice');
)./aws/lambda/cdc-processor
and confirm the event appears.